中级会员
- 积分
- 224
- 威望
- 138
- 贡献
- 40
- 兑换币
- 49
- 注册时间
- 2012-10-31
- 在线时间
- 23 小时
- 毕业学校
- 集美大学诚毅学院
|
10贡献
问题是这样的,小弟刚刚接触STC89C52RC单片机,买了一个核心板,然后看着网上的视频跟P89V51的用户手册,写了一个串口发送数据的小程序,通过串口线跟PC机上的串口调试助手通信,结果发不了,小弟查了好久了都没能发现是哪里的问题,程序很短的,麻烦有耐心又有耐心的前辈帮小弟看一下,小弟感激不尽!再次感谢!小弟在线等啊!
代码如下:
- void UART_Open(void)
- {
- /*先关闭串口中断*/
- ES = 0;
- /*使用串口的模式1(8位数据位,波特率可变),打开串口接收使能*/
- SCON = 0x50;
- /*用定时器0的自动装载(模式2)来实现串口波特率*/
- TMOD |= 0x02;
- TH0 = 0xFD;
- //TL0 = 0xFD;
- TL0 = 0xFD;
- TR0 = 1;
- /*使能串口中断*/
- ES = 1;
- EA = 1;
- }
- u8 UART_Write(u8 acWriteBuff[])
- {
- u8 cWriteCount = 0;
- /*如果缓冲区内无数据*/
- if(0 == acWriteBuff[0]) return 0;
- while(acWriteBuff[cWriteCount] !=0 )
- {
- SBUF = acWriteBuff[cWriteCount++];
- while(!TI);
- TI = 0;
- }
- }
- int main(int argc, char *argv)
- {
- UART_Open();
- UART_Write("hello,world!\n");
- while(1);
- return 0;
- }
复制代码
|
|