折腾xx1640驱动共阳数码管,显示只一次正常,刷新就乱码!

2020-01-12 17:17发布

网上找的1640程序,多是  驱动共阴数码管的,客户要共阳!
找到个转换程序套上,可以正常显示0~9~abcd,但是,更新第二次显示,就是乱码,单独显示一次就正常???
折腾一天了,非常抓狂了???
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
20条回答
t3486784401
1楼-- · 2020-01-14 01:09
wkman 发表于 2019-10-30 21:53
转换为共阳,这这个函数里面实现了,且显示也正常,,,,我遇到的问题是,,,第二次修改更新全部16个数 ...

位段操作,你只有 |= 置一,不见 &= 置零,要闹哪样?
之前统一清零了?
用 static 数组了?(只有初始化时清零)
wkman
2楼-- · 2020-01-14 03:22
 精彩回答 2  元偷偷看……
t3486784401
3楼-- · 2020-01-14 08:40
wkman 发表于 2019-11-1 09:55
多谢回复

在位段切换函数内,ex_数组在定义后,就是全0

没有初始化的局部数组!拿来的自信说全是零。
乱码后大多数笔段点亮就是这个毛病。

至少加上 ={0} 每次强制初始化啊。
wkman
4楼-- · 2020-01-14 10:39
t3486784401 发表于 2019-11-1 10:04
没有初始化的局部数组!拿来的自信说全是零。
乱码后大多数笔段点亮就是这个毛病。

  你是对的!!!!   

这句改成这样就好了:  T_T
    unsigned char i,j,k,ex_[16]={0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, };
wkman
5楼-- · 2020-01-14 11:11
本帖最后由 wkman 于 2019-11-1 10:29 编辑
skype 发表于 2019-10-31 22:11
void TM_I2C_Delay(void)
{       
    uint32_t i=5; /* 10us */


多谢帮忙回复!
TM_Writebyte(*p &0xf8 + fan_list[s & 0x07]);     这段代码也是  “共阴管切换到共阳管”  功能?



skype
6楼-- · 2020-01-14 13:56
wkman 发表于 2019-11-1 10:22
多谢帮忙回复!
TM_Writebyte(*p &0xf8 + fan_list[s & 0x07]);     这段代码也是  “共 ...

不是,是低三位要修改,而其他位不变。

一周热门 更多>