我正在使用Basys MX3,并使用SSDDEMO,该SSDDEMO在十六进制中充当计时器,我试图将计时器更改为十进制,没有成功。.我该怎么做:)?非常感谢,这是SSDDEMO的链接:
https://github.com/digilent/basys-mx3-library/blob/master/demos/demos/ssddemo.x/ssd.c
在给定库中,SSD_WriteDigitsGrouped()
显示val
参数的四个十六进制数字。首先将整数转换为二进制编码的十进制十进制(bcd)格式,其中每个十六进制表示代表十进制数字值0至9,您可以显示小数。
这可以使用用于转换的SSD_WriteDigitsGrouped()
的包装器轻松完成。实现以下功能,并将其代替SSD_WriteDigitsGrouped()
:
void SSD_WriteDigitsGroupedBCD( unsigned int val, unsigned char dp )
{
unsigned bcd = 0 ;
int shift = 0 ;
while( val > 0)
{
bcd |= (val % 10) << (shift << 2) ;
shift++ ;
val /= 10;
}
SSD_WriteDigitsGrouped( bcd, dp ) ;
}