我一开始也遇到类似的问题,后来发现是控制字没有写入成功,可以参考下面这段写入程序,用GPIO模拟实现通讯:
- uint16_t SoftSSP_WriteReadWord(uint16_t write_dat)
- {
- uint16_t i;
- SCLK_H;
- FSYNC_H;
- FSYNC_L;
- for( i = 0; i < 16; i++ )
- {
- if( write_dat & 0x8000 )
- {
- SDATA_H;
- }
- else
- {
- SDATA_L;
- }
- delay_us(1);
- SCLK_L;
- delay_us(1);
- SCLK_H;
- write_dat <<= 1;
- }
- FSYNC_H;
- return 0;
- }
我一开始也遇到类似的问题,后来发现是控制字没有写入成功,可以参考下面这段写入程序,用GPIO模拟实现通讯:
- uint16_t SoftSSP_WriteReadWord(uint16_t write_dat)
- {
- uint16_t i;
- SCLK_H;
- FSYNC_H;
- FSYNC_L;
- for( i = 0; i < 16; i++ )
- {
- if( write_dat & 0x8000 )
- {
- SDATA_H;
- }
- else
- {
- SDATA_L;
- }
- delay_us(1);
- SCLK_L;
- delay_us(1);
- SCLK_H;
- write_dat <<= 1;
- }
- FSYNC_H;
- return 0;
- }
举报