STM32模拟SPI接收的数据不能发送
:'(很不容易调试通了STM32模拟SPI,已经能够读取外置AD的数据了(经示波器验证读取数据正确),但是我想把读到的数据通过串口发送出去,在电脑上用串口调试程序看显示结果。但是输出是一串00 00 00 00 00......串口是没有问题的,通过很多方法他都是这样,很无助啊:L串口配置什么的都没有问题,如果各位觉得配置中我可能忽略什么可以提醒下。:L请各位帮忙看看,感激不尽。
下面是我的接收和发送代码:接收到的数据应该是0x00CA,我怀疑是我的接收储存出了问题,只存取了高8位数据。
while(1)
{
GPIO_SetBits(GPIOC , GPIO_Pin_1);
GPIO_SetBits(GPIOE , GPIO_Pin_0);
Delay(3);
GPIO_ResetBits(GPIOE , GPIO_Pin_0);
Delay(13);
for(size=0 ; size != buffsize ; size++)
{
GPIO_ResetBits(GPIOC , GPIO_Pin_1);
Delay(1);
Tx_Buffer = Tx_Buffer > 8);
while(USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);
USART_SendData(USART1 , USART_TxBuffer );
}
RE:STM32模拟SPI接收的数据不能发送
只看这段代码不能解决问题。你可以通过仿真来判断是不是真的接收到了数据,你通过示波器只是能看到数据的波形,但是你能确定你接收到数据了吗?回复:STM32模拟SPI接收的数据不能发送
回复第 2 楼 于2011-09-29 06:08:03发表:只看这段代码不能解决问题。你可以通过仿真来判断是不是真的接收到了数据,你通过示波器只是能看到数据的波形,但是你能确定你接收到数据了吗?
我用串口调试程序可以看到,RX是在一直增加的,而且通过示波器波形的幅度可以判断那是数据
RE:STM32模拟SPI接收的数据不能发送
RX在增加并不代表你接收的就是正确的数据,也可能是错误的数据。你最好仿真一下。这样就能看出数据的正确是错误了。另外,SPI模拟的时候,并没有检查数据的正确性。要注意CS一直要拉低,知道通信结束。RE:STM32模拟SPI接收的数据不能发送
楼主你外置的AD 是啥型号的?能把你的程序发我一下么?我也在做这个,还在广搜资料啊,拜谢回复:STM32模拟SPI接收的数据不能发送
。。。。。
页:
[1]