共2条
1/1 1 跳转至页
LPC2132,0x00 求教LPC2132串口不能发送0x00的问题,谁遇到过??
问
编译器用ADS1.2,不管有没有uC/OS-II,都不能发送0x00,其它0x01~0xff都行。周工2100开发板的程序移到2132,也不能发送0x00
编译器用Keil uVision3,不管有没有RTOS(Keil内部自带的ARTX),也不能发送0x00,0x01~0xff就可以
都没有用FIFO
怎么回事???器件问题??? 还是...... 望高人回答,谢谢! 答 1: 还有,如果用中断,怎么老是挂起的,就是U0IIR总为0x01UART0发送中断时,进入中断函数,U0IIR的值为0x02,正常。如果去掉while((s&0x01)==0),以后就不能进入中断了。中断函数如下,请高人指教
void UART0_INT(void) __irq // UART0 interrupt function
{
uchar s;
NOP(); NOP();
s = U0IIR;
//U0IIR = 0;
while((s&0x01)==0)
{
switch(s & 0x0e)
{
case 0x02:
if(Txd.Length--) // Transmit interrupt
{
//RS485_TRANSMIT_ENABLE;
TxdP++;
U0THR = *TxdP;
Txd.Sending = 1;
}
else
{
Txd.Sending = 0;
//RS485_RECEIVE_ENABLE
}
break; //
case 0x04: // Receive interrupt
break;
default: break;
} // End of Switch
s = U0LSR; // 清除线状态错误中断标志
s = U0IIR;
}
VICVectAddr = 0;
//UART0_Init();
NOP(); NOP();
} 答 2: 搞错,U0IIR为0x01是没有挂起的中断 但为什么第二次就不能进入中断了???
发送第一字节,进入中断时, 答 3: 中断解决了,原来是发快。但0x00和0x11还是不能发送 我发送一个数组,最前面三字节是0x00,跟着三个字节是0x11
后面的从0x00~0xff
用串口软件收到的数据 没有 0x00和0x11 答 4: 惨呀,是电脑串口的问题!!! 换一台电脑,就可以了。
但还是不明,为什么那台电脑的串口就不可以接收0x00和0x11,其它数据就可以呢??? 串口收发软件是同一个呀。 答 5: 奇怪,也不是电脑串口的问题,是小飞ISP软件的问题 电脑重新启动后,没用过ISP前,直接用串口软件就没问题。
一用过ISP软件后,再用串口软件,就有问题,0x00和0x11收不到 答 6: 我也遇到相似的问题!开始折腾了我半天,后来才发现不能接收0X00 答 7: 呵呵用丁丁的软件,应该好使的。不关芯片的事。 答 8: 丁丁的软件?哪里可以Down?
编译器用Keil uVision3,不管有没有RTOS(Keil内部自带的ARTX),也不能发送0x00,0x01~0xff就可以
都没有用FIFO
怎么回事???器件问题??? 还是...... 望高人回答,谢谢! 答 1: 还有,如果用中断,怎么老是挂起的,就是U0IIR总为0x01UART0发送中断时,进入中断函数,U0IIR的值为0x02,正常。如果去掉while((s&0x01)==0),以后就不能进入中断了。中断函数如下,请高人指教
void UART0_INT(void) __irq // UART0 interrupt function
{
uchar s;
NOP(); NOP();
s = U0IIR;
//U0IIR = 0;
while((s&0x01)==0)
{
switch(s & 0x0e)
{
case 0x02:
if(Txd.Length--) // Transmit interrupt
{
//RS485_TRANSMIT_ENABLE;
TxdP++;
U0THR = *TxdP;
Txd.Sending = 1;
}
else
{
Txd.Sending = 0;
//RS485_RECEIVE_ENABLE
}
break; //
case 0x04: // Receive interrupt
break;
default: break;
} // End of Switch
s = U0LSR; // 清除线状态错误中断标志
s = U0IIR;
}
VICVectAddr = 0;
//UART0_Init();
NOP(); NOP();
} 答 2: 搞错,U0IIR为0x01是没有挂起的中断 但为什么第二次就不能进入中断了???
发送第一字节,进入中断时, 答 3: 中断解决了,原来是发快。但0x00和0x11还是不能发送 我发送一个数组,最前面三字节是0x00,跟着三个字节是0x11
后面的从0x00~0xff
用串口软件收到的数据 没有 0x00和0x11 答 4: 惨呀,是电脑串口的问题!!! 换一台电脑,就可以了。
但还是不明,为什么那台电脑的串口就不可以接收0x00和0x11,其它数据就可以呢??? 串口收发软件是同一个呀。 答 5: 奇怪,也不是电脑串口的问题,是小飞ISP软件的问题 电脑重新启动后,没用过ISP前,直接用串口软件就没问题。
一用过ISP软件后,再用串口软件,就有问题,0x00和0x11收不到 答 6: 我也遇到相似的问题!开始折腾了我半天,后来才发现不能接收0X00 答 7: 呵呵用丁丁的软件,应该好使的。不关芯片的事。 答 8: 丁丁的软件?哪里可以Down?
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
与电子爱好者谈读图四被打赏50分 | |
与电子爱好者谈读图二被打赏50分 | |
【FRDM-MCXN947评测】Core1适配运行FreeRtos被打赏50分 | |
【FRDM-MCXN947评测】双核调试被打赏50分 | |
【CPKCORRA8D1B评测】---移植CoreMark被打赏50分 | |
【CPKCORRA8D1B评测】---打开硬件定时器被打赏50分 | |
【FRDM-MCXA156评测】4、CAN loopback模式测试被打赏50分 | |
【CPKcorRA8D1评测】--搭建初始环境被打赏50分 | |
【FRDM-MCXA156评测】3、使用FlexIO模拟UART被打赏50分 | |
【FRDM-MCXA156评测】2、rt-thread MCXA156 BSP制作被打赏50分 |