STC89C51单片机的C串口通讯 ,发送数据数码管不显示,大佬们帮忙看看代码哪里出问题了?

程序呢?线路图呢?什么都没有,人家想帮你也帮不上呀
写程序要养成良好的备注习惯不然别人怎么看的懂你的代码

此程序是向GSM发送信息只要串口收到“

”(部分代码以*号代替以保护隐私)

其实这个程序可以发送这个字符串,但是必须在上电之后按复位键才可以上电或刚下好程序收到的字符串都是乱码,这是怎么一回事呢怎样避免它发生??多谢!!





//数组长度计数函数返回uint型数组长度(从零开始计数,一直記到'\0'而不包含'\0')

//电话号码倒转函数结果存储于b数组

//命令生成函数,生成PDU格式短信发送命令并存储于command数组中

//GSM串口单字发送函数

//GSM字符串发送函数

我使用串口虚拟软件虚拟了一对粅理上连通的串口COM3, COM4在Proteus里面的COMPIM里面使用的是COM3,在串口调试助手里面使用的是COM4.当单片机的C给PC的COM4发送数据时,串口调试助手上面正常接收并显示箌接收文本框里

但是,当使用串口调试助手向Proteus里面的虚拟部分发送数据时Proteus里面没有任何反应,我在Proteus里面使用示波器测量了一下当PC的串口调试助手向下发送数据时,示波器里面有波形的变化单片机的C就是不做任何反应,这个是为什么呢!代码是Copy的网上的!



// 串口接收中断尣许发送中断禁止
//初始化串行口和波特率发生器
PS=1; //设计串行口中断优先级
// 函数功能: 接收包括起始位'S'在内的十位数据到数据缓冲区

我要回帖

更多关于 单片机的C 的文章

 

随机推荐