TM1680的工作流程通常是:
1. 通电, 没啥可说
2. SYS DIS (主从), 1000-0000即0x80, 关闭系统时钟跟LED循环, 主机都从机地址都要发
3. COM设置 (主从), 主从地址都要发COM的选项, 在我这个proj里面, 发1010 0100(0xA4), 16COM NMOS
这里说明一下, 因为走的是16*24, 而不是8*32, 然后COM口接的是PNP管子的N级, 所以是0xA4
4. Master Mode(主), 对主地址发送主机指定1001-1010(0x9A)
5. Slave Mode(从), 对从地址发从机指定1001-0000(0x90)
6. SYS ON(主, 从), 主从分别Enable, 1000-0001(0x81)
7. LED ON(主, 从), 主从分别发1000-0011(0x83)
8. Write RAM Data(主, 从), 主机发(0xff);
for(i=0;i<32;i++){
IIC_Send_Byte(0xff);
IIC_Wait_Ack();
delay_us(100);
}
9. Update RAM Data(主, 从) 重复.
另外, 有关地址的:
1110-01A1A0, A1跟A0的高电平跟接地分别来区分主机跟三个从机, 这个case里面是1110-0100(0xE4), 其实可以通过四个地址轮询来查I2C应答的结果, 看看主/从TM1680的I2C地址.