转载自:http://www.cnblogs.com/itloverhpu/p/3278014.html
1.今天调试HDMI8X8背板和板卡的通信,一直有问题:背板可以和PC正常通信,背板可以发命令给板卡,板卡也能正常接收到指令并返回背板,
但背板一直无法接收到板卡返回的指令,无法进入USART1中断;
2.请教了同事,示波器一量,发现背板的485芯片控制端一直处于发送状态(H),再看板子,有个电阻:R52 没上;
3.把电阻补上,还是不行;甚至板卡都不能正常接收到背板发来的指令了;还好,这时候,有个同事说库函数:USART_SendData有问题;
是啊,上次写板卡的程序时还遇到了这个问题并解决了;现在竟然没想起来
void USART_SendData(USART_TypeDef* USARTx, uint16_t Data)
{
/* Check the parameters */
assert_param(IS_USART_ALL_PERIPH(USARTx));
assert_param(IS_USART_DATA(Data));
/* Transmit Data */
USARTx->DR = (Data & (uint16_t)0x01FF);
while((USARTx->SR&0x40)==0);////////// 自己加的
}
总结:自己花了好久时间,还搞不定的问题,最好请教一下同事;他们可能不能马上找到问题,但他们会给出自己的建议,揣测;同时也激发自己的知识储备,
激活自己的思维;所谓集思广益,解决问题的效率会大大提高!
本来就没有高科技,多请教多讨论是提高自己的根本!