历史上的今天
今天是:2025年03月08日(星期六)
2020年03月08日 | 51单片机串口打印不管是中文还是英文都是乱码的问题
2020-03-08 来源:eefocus
讲道理都tm大三暑假了还搞51单片机而且关键是还遇到了一个问题解决了一天才解决出来真的是很丢人了。
不过我会珍惜这个机会的,毕竟这有可能是我辈子最后一次跟着老师搞这个破玩意了。
好了不废话了 收!
昨天遇到的问题是单片机用串口给电脑发数据,本人用串口助手查看时乱码了,发送的数据是英文和数字,没有存在中文,马上进行问题排除:
解决方案一:printf的原因吗?
代码里用piintf函数来进行串口发送数据,可能printf只适合于stm32不能适用于51,但是仔细一想又不对啊,我tm大三上的单片机大作业就是用printf函数进行串口发送数据的啊,怎么当时就可以啊。于是我把当时的代码拿过来修改,还是不行。
解决方案一卒。
解决方案二:硬件芯片的原因吗?
换了另外一块芯片,还是不行。
解决方案二卒。
解决方案三:晶振的原因吗?
赶紧查看开发板上面的晶振,刻着12Mhz,在keil4软件里面查看晶振,晶振的设置是12Mhz,这里算是对上了。想起上个学期的单片机晶振是11.0592Mhz,可能是这个原因吧,但是没有办法啊,晶振已经焊上去了,我能怎么办我也很绝望啊。
解决方案三卒。
解决方案四:波特率的原因吗?
这里要感谢一篇博客给我的启发,详见参考资料。
和博主一样,使用波特率9600,TL1和TH1都设置成0xfd,不管是中文还是英文都是乱码,那肿么办呢?波特率换成2400,2400,2400,重要的事情说三遍!!!TL1和TH1都设置成0xf3。
哈哈哈哈终于不乱码了,开心。
总结:没什么好总结了,就是菜。就是一个菜鸡发现了9600到2400的过程。
参考资料:
https://www.cnblogs.com/geekalan/p/4005427.html
https://zhidao.baidu.com/question/110468495.html?fr=qrl&index=3
史海拾趣
|
我搞的这个可以在PC上仿真运行的袖珍示波器操作界面评估演示程序终于初稿完成,现交出来供各位大侠提提意见,砸砖头也欢迎! 由于PC端的仿真平台做的不太好,运行速度比在真机器上的嵌入式环境中慢了差不多10倍,请大家多多原谅! 至于这个东东 ...… 查看全部问答> |
|
请教:我用EW4.10单步调试定时器A时,用view-register观察TAR中的值没有变化,点击GO运行后也没有变化,我知道用IAR进行simulate模拟中断时要用Forced Interrupt-trigger触发中断,和KEIL IDE 非常不一样,而且即使中断后中断标志位也没有变化,不 ...… 查看全部问答> |
|
请教一下:用MSP30F149做采集信号,用片内AD,我只想采集40ms,40ms之后就关闭采集,用什么方法 啊?要用定时器吗?望高手指点,最好给个例子 ,非常谢谢!… 查看全部问答> |
|
【TI视频分享】TI模拟及逻辑产品在平板电脑解决方案中的应用(一) TI 是逻辑 IC 之源,其中包括开关、转换、I²C、接口、小尺寸逻辑器件、门、反向器、触发器和 FIFO。在平板电脑解决方案中要用到哪些逻辑器件呢?TI工程师为您娓娓道来。本视频来自TI 2011技术研讨会(TI Technology Day 2011)中国站的现场讲 ...… 查看全部问答> |
|
matlab2013a的 simulink里没有Target Preferences 后来我从2011a的matlab里复制了个文件夹到2013里面, 但是在建模时打开双击这个模块时弹出这个。我该怎么决解,求指导… 查看全部问答> |
|
最近在编写一段程序,用MSP430编写发送AT指令程序给GPRS模块,GPRS模块收到AT指令会有\"OK\"返回值。现在我编好运行,发现检测不了\"OK\" 返回值。我是中断没有进去呢?还是检测“OK\"程序有问题?搞了一个星期都没能搞出来,头昏脑涨,这个搞不懂 ...… 查看全部问答> |
|
AD7705硬件的drdy脚悬空了 选择软件复位 0.1S采样一次 每次采样前都会复位一次 可是运行一段时间后 AD7705就不工作了 重新上电又能正常工作了 这该怎么解决?… 查看全部问答> |




