共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 跳转至页
回复
打赏帖 | |
---|---|
rtthread硬件加密--2crc加密分析被打赏10分 | |
【分享开发笔记,赚取电动螺丝刀】mcxa156使用低功耗定时器适配硬件RTC框架被打赏26分 | |
【STM32F769】AI之与本地deepseek对接被打赏50分 | |
Buck电路工作在CCM模式下电感电流的计算公式是什么?被打赏5分 | |
buck电路工作原理被打赏5分 | |
基于MSPM0L1306的MODBUS-RTU协议通讯实验被打赏100分 | |
我想要一部加热台+多合一调试工具被打赏18分 | |
每周了解几个硬件知识+485硬件知识分享被打赏10分 | |
【换取手持示波器】TouchGFX应用移植自定义屏幕被打赏34分 | |
【换取手持数字示波器】树莓派PICO调试器官方固件本地化部署实践被打赏24分 |