mcbsp 配置成UART,DX默认输出能配置吗?我用示波器测得默认值是低电平,单UART协议要求空闲状态是高电平,请问怎么设置呢?谢谢
dajia li:
回复 Tony Tang:
我不用edma直接查询发送和接收也是可以的吧?发送的时候查询SPCR1的XRDY位,接收的时候查询RRDY是否为1.这种方式可以吗?
//发送
Uart_transmit_data(0x0000); /起始位
Uart_transmit_data(0xffff); //0Uart_transmit_data(0xffff); //1Uart_transmit_data(0x0000); //2Uart_transmit_data(0xffff); //3Uart_transmit_data(0x0000); //4Uart_transmit_data(0xffff); //5Uart_transmit_data(0x0000); //6Uart_transmit_data(0xffff); //7Uart_transmit_data(0xff); //停止位Uart_transmit_data(0xff); //停止位
Uint32 Uart_transmit_data(Uint32 dataout){Uint32 data = 0;int a ,b;
a= 1; while(data != 0x020000) { data = SPCR1; data= data & 0x020000; }DXR1 = dataout; }
//接收
while(1)
{ Uart_receive_data(&Spi_rData); data_r[i] =Spi_rData; i++;}
Uint32 Uart_receive_data(int *SPI_Rd_data){ while(data != 0x000002)//recevie ready { data = SPCR1; data= data & 0x000002; } *SPI_Rd_data = DRR1;}
xiaohui chen:
回复 dajia li:
你好,你使用C6455的MCBSP成功配置成UART吗?我也采用CPU查询方式发送数据,但示波器抓出的波形,起始位+8个数据+停止位,只有一个数据发出去了,其他都是重复数据,请问配置有哪些会影响,麻烦你能告诉QQ或者微信吗。这个问题困扰很久了,就是调试不通。
xiaohui chen:
回复 Tony Tang:
你好,你使用C6455的MCBSP成功配置成UART吗?我采用CPU查询方式发送数据,起始位+8个数据+停止位,但示波器抓出的波形只有一个有效数据,其他都是重复数据,请问哪项配置会影响,这个问题困扰很久了,就是调试不通。