PIC18F65K40 只能发送单字符 不能发送字符串

作者 wzy8430121 於 2018年04月02日 12:22:28
首先我简单测试单字符 是可以发送的且发送正确:
while(!TXSTA5bits.TRMT);
TXREG5 =0X0D;





然后我些了一个字符串的测试,发现都是发送0
unsigned int TEST[6]={0X54,0x4F,0x53,0x44,0X0D};

void putrs5USART( char data*)
{
do
{ // Transmit a byte
while(!TXSTA5bits.TRMT);
TXREG5 =*data;
} while( *data++ );
}


putrs5USART(TEST);



为了查明原因 我更加简化了
unsigned int TEST[6]={0X54,0x4F,0x53,0x44,0X0D};
while(!TXSTA5bits.TRMT);
TXREG5 =0X54;

while(!TXSTA5bits.TRMT);
TXREG5 =TEST[1];

while(!TXSTA5bits.TRMT);
TXREG5 =0x53;

while(!TXSTA5bits.TRMT);
TXREG5 =0x44;

while(!TXSTA5bits.TRMT);
TXREG5 =0X0D;


delay_100ms(20);

然后发现带 TXREG5 =TEST[1]; 这一部分还是0,其他部分正确




然后我尝试了这屆A还是错误 发送的是0。
unsigned int TEST[6]={0X54,0x4F,0x53,0x44,0X0D};
unsigned int i;
while(!TXSTA5bits.TRMT);
i = TEST[1];
TXREG5 =i;



我很怀疑是不是硬件有什么bug?希望得到大家的韺U!谢谢!

來自: http://www.microchip.com.tw/newbb/viewtopic.php?forum=1&topic_id=22249&post_id=77927