hello. I want use I2C program. so, I used twi_master_using_app_twi example. SDA is output only 1byte(0x21). I need to output a continuous 5byte. Where do I need to modify the part. thank you.
hello. I want use I2C program. so, I used twi_master_using_app_twi example. SDA is output only 1byte(0x21). I need to output a continuous 5byte. Where do I need to modify the part. thank you.
Hi,
On the image in your comment you are sending a 7 bit address (0x98 >> 1) with a write bit. You also get a Not Acknowledge (NACK) bit in the end. The 9th bit on the SCK is for the NACK bit.
Read about NACK and addresses in the I2C spec here: I2C Bus Specification. Read about the difference between 8 and 7 bits addresses and why you right shift some addresses here.
The NACK you get is important to note. It signifies that you are trying to transfer a byte, but no slave is responding. This is often due to one of the following reasons:
As far as I can see from the datasheet found here the TM1640 does not use TWI. It uses Dual-line Serial Interface, which is similar, but not compatible. I don't think you can use SPI either. Hence you will have to write your own software driver based on the timing diagrams in the datasheet, Chapter VI. "Description the interfaces". You can do some google searching for TM1640 drivers and you will probably find some inspiration.
As far as I can see from the datasheet found here the TM1640 does not use TWI. It uses Dual-line Serial Interface, which is similar, but not compatible. I don't think you can use SPI either. Hence you will have to write your own software driver based on the timing diagrams in the datasheet, Chapter VI. "Description the interfaces". You can do some google searching for TM1640 drivers and you will probably find some inspiration.