如何将Basys mx3计时器从十六进制更改为十进制
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将Basys mx3计时器从十六进制更改为十进制相关的知识,希望对你有一定的参考价值。
我正在使用Basys mx3,并使用在Hex中作为计时器的SSDDEMO,我试图将计时器更改为十进制,但没有成功..我该怎么做:)?非常感谢,这是ssddemo的链接:
https://github.com/Digilent/Basys-MX3-library/blob/master/Demos/SSDDemo.X/ssd.c
答案
在给定的库中,SSD_WriteDigitsGrouped()
显示val
参数的四个十六进制数字。首先将整数转换为binary-coded decimal (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 ) ;
}
以上是关于如何将Basys mx3计时器从十六进制更改为十进制的主要内容,如果未能解决你的问题,请参考以下文章
如何将 money 和 smallmoney 的所有 SQL 列更改为十进制?