1. 单片机串口发送汉字
是不是收到的都是FF,其实是你的串口收的速度太慢,你可以把单片机发数的速度搞慢点,也就是说,每发一个字符,延一段时,你先可以延时约1秒,试试,如果行了,再改小。
我以前遇到过这个问题。
2. 单片机串口发送汉字信息
正常发送就行了,比如用电脑的串口精灵,单片机接收后会自动将8位数据送入SBUF寄存器中,并将串口接收标志位RI置1,直接从中读取就行了。
发送也是一样,将8位数据送入SBUF寄存器,单片机就会自动发送数据,发送完毕后会将串口发送标志位TI置1。
3. 单片机串口发送字符串
实现方法:最简单的校验就是把原始数据和待比较数据直接进行比较,看是否完全一样这种方法是最安全最准确的。同时也是效率最低的。
应用例子:龙珠cpu在线调试工具bbug.exe。它和龙珠cpu间通讯时,bbug发送一个字节cpu返回收到的字节,bbug确认是刚才发送字节后才继续发送下一个字节的。实现方法:在数据存储和传输中,字节中额外增加一个比特位,用来检验错误。校验位可以通过数据位异或计算出来。
应用例子:单片机串口通讯有一模式就是8位数据通讯,另加第9位用于放校验值。
bcc异或校验法(blockcheckcharacter)
实现方法:很多基于串口的通讯都用这种既简单又相当准确的方法。它就是把所有数据都和一个指定的初始值(通常是0)异或一次,最后的结果就是校验值,通常把它附在通讯数据的最后一起发送出去。接收方收到数据后自己也计算一次异或和校验值,如果和收到的校验值一致就说明收到的数据是完整的。
校验值计算的代码类似于:
unsigneduCRC=0;//校验初始值
for(inti=0;i<DataLenth;i++)uCRC^=Data[i];
适用范围:适用于大多数要求不高的数据通讯。
应用例子:ic卡接口通讯、很多单片机系统的串口通讯都使用。(CyclicRedundancyCheck)
实现方法:这是利用除法及余数的原理来进行错误检测的.将接收到的码组进行除法运算,如果除尽,则说明传输无误;如果未除尽,则表明传输出现差错。crc校验具还有自动纠错能力。
crc检验主要有计算法和查表法两种方法,网上很多实现代码。
适用范围:CRC-12码通常用来传送6-bit字符串;CRC-16及CRC-CCITT码则用是来传送8-bit字符。CRC-32:硬盘数据,网络传输等。
应用例子:rar,以太网卡芯片、MPEG解码芯片中实现方法:主要有md5和des算法。
适用范围:数据比较大或要求比较高的场合。如md5用于大量数据、文件校验,des用于保
密数据的校验(数字签名)等等。
应用例子:文件校验、银行系统的交易数据
4. 单片机串口发送汉字信号
首先,用单片机读取数字传感器数据,然后单片机通过串口将数据发送,PC端要有TTL电平的串口(不是RS232),将单片机的串口TXD、RXD及GND与PC端串口的RXD、TXD、GND连接,PC端串口助手和单片机的串口协议要一致,就可以把数字传感器的数据传送给串口助手。
5. 单片机串口发送数字
想非常安全,那就要有接收确认机制。
1,发送A
2,接收单片机接收到后返回相同值,
3,发送单片机接收到返回的A,完成一次发送。
4,再发送B,
5,接收单片机接收到B返回相同值,
6,发送单片机接收到返回的B,完成一次发送。
其实就是1,2,3步骤的重复。如果返回的数据不是发送的数据那就再回到1
6. 串口发送汉字程序
您好:1、电脑操作系统问题,打印机缓冲区溢出问题。
很多人以为电脑是不会出错的,其实我们的操作系统并不像想像的那么稳定。我们向电脑提交的打印作业有时会在打印管理程序中被堆积起来。电脑处理不过来,会向打印机发送一些混乱的数据,在Window 2000和Windows XP系统中有时甚至重启电脑或者打印机后问题依然存在。典型表现是:打印机突然打印几行乱码,然后就不工作了。解决方法:win98下比较简单,win2000和winXP有时会复杂一些。发送打印作业后,在电脑右下角会冒出来一个打印机的小图标,双击一下,“打印管理器”就出现了。我们可以在这个管理器中控制打印作业的暂停、重启或者清除。在win98操作系统中,一般只需要取消所有打印作业,重启打印机一般都可以解决。我们有时会发现在Windows 2000和Windows XP操作系统下,有时问题会很“固执”。这时候就需要我们多做一些工作。首先也应该象在Windows 98下那样,尝试这取消堆积的打印作业,或者再重新启动一下打印机。如果情况不是很严重,可以解决问题。针对于普通的使用者来说,有时重启系统(电脑、打印机)是最简单的解决问题的方法。因为在系统重启的过程中会自动执行初始化各子系统,清除内存等一系列操作。省去了我们手工进行系统故障排除等麻烦事。然而我们有时会发现,重新启动打印机后,打印机会奇怪地马上接着打印乱码。而这时在打印管理器中打印作业已经消失。其实,打印作业依然存在,只不过电脑的CPU把它处理完成后就存放在了硬盘上,由硬盘直接经由内存发送到打印机。也就是说,作业还在硬盘上。这时候就需要我们多做一些工作了:请点击“控制面板”--“管理工具”--“服务”。接着打开服务列表,在Windows服务列表中选择“Print Spooler”服务,并且中止此项服务。2、数据传输问题。并口电缆由于虚焊或者接口电路、芯片发生故障,会使数据在传输中发生丢失,造成打印乱码,汉字打印错误等故障现象。并口线缆切记不要带电插拔,否则管脚容易短路,接口芯片容易被浪涌电流烧毁。千万不要存在侥幸心理。典型现象:有时我们会觉得奇怪,发送的打印作业后一切正常,打印机开始工作呼呼啦啦从头打印到尾,看起来也很正常。但是打印出来的东西却乱七八糟,乱码、错位、缺失等现象纷纷呈现。解决方法:首先让打印机做一下自检(LQ-1600K3+按住换行/换页键同时打开电源进行自检,LQ-630K/LQ-670K+T按住进退纸键,打开电源自检,其它产品请参见操作手册),如果自检页完全正常,而您确认您的电脑没有问题(没有病毒,用其他软件打印都是同样的现象,甚至在“开始”-“设置”-“打印机”-选择型号-右击鼠标-常规下“打印测试页”也是如此),我们就要考虑数据传输问题了。也就是两个端口(电脑和打印机的接口电路)一根线(并口、串口、USB线缆)。找一根可靠的替换线缆是最简单有效的了。如果是端口问题就比较麻烦。需要和电脑厂家的维修站或者Epson公司的维修站联系维修。3、打印机硬件故障造成处理数据错误。打印机的字库rom,芯片等部件损坏。除去使用年头长,机器自然老化之外,造成打印机硬件损坏的原因最主要是工作环境不好。在Epson打印机的说明书上有明确的对使用环境的说明,但是使用者真正认真阅读并且遵从的很少。经常有用户表示自己的打印机工作环境非常好,但是维修人员打开打印机后却发现里面的东西简直可以开个杂货铺。在温差变化大,湿度大,电压不稳定,电源没有良好接地的工作场合,尤其会造成打印机的损坏。典型故障:打印乱码或者其他故障现象出现之后,我们可以尝试做打印机的自检。如果出现自检页也是乱码,或者西文、数字正常,单单中文没有,再或者根本不工作的情况,都属于打印机本身硬件故障。解决方法:请尽快联系Epson的维修站。维修人员会认真具体地检测您的打印机。4、软件仿真模式和打印机驱动程序不匹配。Epson的针式打印机一般还可以模拟一些其他厂家的打印机来工作。比如模拟OKI的和IBM的。此时就相当于一台OKI的或者IBM的打印机在工作,这时我们当然要安装相应的OKI或者IBM的打印机驱动程序。经常有使用者在打印机Firmware中选择的当前仿真为OKI或者IBM,但是在电脑上安装的是Epson打印机的驱动程序。结果理所当然打印会出现乱码等现象。5、串口连接时,波特率设置与所连接设备的波特率设备不匹配。安装有串口卡的打印机(串口卡作为选件可以安装在LQ-1600K3+、LQ-630K和LQ-670K+T不支持串口卡,其它产品请参见操作手册),出厂时一般都把波特率设置为9600,这和电脑串口的默认波特率值相同。但是很多用串口连接打印机的工控设备,计量仪器,由于强调稳定性而不要求传输速度,串口波特率基本都默认设置为1200等低值。这样如果不做调整就开始联机打印,打印会出现乱码。另外:有时即便打印机和电脑的串口设置的波特率相同,仍然可能因为处理速度不匹配(当然是电脑快打印机慢),使得打印机缓冲区溢出,打印机CPU响应不及时,也会造成打印乱码或者其他问题。这时也需要我们手动地把打印机和电脑的串口波特率都同时降低。比如同时从9600降低到4800。但电脑和打印机的波特率必须相同,这一点无论何时都要遵守。请注意:在有的把串口卡作为选件的打印机产品中,串口卡安装之前,缺省设置列表中是没有波特率这一项的。安装串口卡后会自动生成出该项。另有一些打印机的串口卡上有设置波特率的硬跳线。就可以直接用跳线更改波特率了。解决方法:打印机的缺省设置表中或者跳线的位置显示了当前串口设置的波特率值。对于那些需要在缺省设置中用打印机面板的按键来更改波特率的串口卡,需要我们打印出缺省设置页,按照上面的提示改变串口波特率,可以按照提示步骤一步步改变打印机的波特率至和设备串口波特率值相同。对于那些使用硬跳线来更改波特率的串口卡,可以请参阅串口卡的使用手册上的波特率对照表来修改。
7. 单片机串口怎么写
单片机跟什么通信,跟电脑吗?
单片机之间,发什么都行。
跟电脑,那得看你电脑上的软件要什么数据了,有的程序能显示16进制数。
那你发什么都行。不一定要弄成 ASCII码。 想转的话,ASCII转CHAR跟本不用转,char型本来内部就是按ASCII码存的。数字 就是单个位的数字+'0'就好了。多位数的你得一位位去转哦。
8. 单片机串口发送汉字,在点阵屏显示
通过撰写代码来实现。Proteus中只有5×7和8×8等LED点阵,并没有16×16LED点阵,而在实际应用中,要良好地显示一个汉字,则至少需要16×16点阵。下面我们就首先介绍使用8×8点阵构建16×16点阵的方法,并构建一块16×16LED点阵,用于本例的显示任务。
首先,从Proteus元件库中找到“MATRIX-8X8-RED”元器件,并将四块该元器件放入Proteus文档区编辑窗口中。
此时需要注意,如果该元器件保持初始的位置(没有转动方向),我们要首先将其左转90°,使其水平放置,那么此时它的左面8个引脚是其行线,右边8个引脚是其列线(当然,如果你是将右转,则右边8个引脚是行线)。
然后我们将四个元器件对应的行线和列线分别进行连接,使每一条行线引脚接一行16个LED,列线也相同。并注意要将行线和列线引出一定长度的引脚,以便下面我们使用。
然后使用以下代码:
9. 单片机串口发送汉字乱码
答:第一个故障,在通电之后系统的装置不能够正常的上电。这种情况下要及时的检查交流,电源方面是否出现了故障,再加上系统的电源是否出现了故障,以及线路当中的电源和地是否出现了短路,工作人员应该及时的检查各个接线的线路中间,是否存在着一定的磨损或者是出现短路。
第二个故障,主机不能够正常的密码开锁。这个时候应该及时的检查自己输入的密码是否比较正确,或者是由于自己操作不当所造成的密码输入错误,有部分的楼宇对讲系统开锁线,直接的接到了系统电源上面去,所以才会造成不能够用密码开锁。检查门口机的电压是否是正常的,如果一切正常,就需要去更换同一种型号和功能性的组件去进行尝试。
第三个故障是主机能够正常的开锁,室内分机不能开锁,这种情况下应该检查线路是否接错,或者是中间出现了磨损,以及单元的系统主干线方面的一些问题,如果有部分的产品型号是比较正常的,可能是单片机芯片程序出现了一些问题,输出的信号会出现乱码。
第四个故障主要是主机能够正常开锁,管理机不能够开锁,可能是连接线出现了错误,或者是使用联网转换器的时候出现了问题。
第五个故障主要是因为分机不能够互通门口主机,或者是门口主机不能够互通分机,主要还是找出连线方面是否存在错误,以及楼层平台是否出现了故障,再加上故障检测的顺序方法。