89C52发送字符串时,为什么c 字符串第一个字符符显

查看: 8880|回复: 56
上位机调试可以控制串口HMI,单片机控制不了串口HMI
主题帖子积分
上位机调试可以控制串口HMI,单片机控制不了串口HMI?
我们上位机发的串口指令是自带了结束符(0xff 0xff 0xff)的,用户单片机或者第三方软件(串口调试助手)控制不了串口HMI,一般都是由于没有正确发送串口指令格式。串口指令是以字符串的格式发送,结束符要以字节(16进制)发送。比如 UART_Send_Str(&cls BLACK&);//发控制指令&&UART_Send_END();&&//发结束符&&某些单片机还要对该串口的TX上拉,如51(STC)驱动能力弱的单片机,硬件上拉一个电阻或者软件配置成强上拉(推挽输出)模式。
主题帖子积分
TX RX 都需要接个上拉电阻么?10k?1k?
主题帖子积分
TX RX 都需要接个上拉电阻么?10k?1k?
TX上拉就可以了,上拉10K就可以了
主题帖子积分
我被这个问题快搞死了,后来拆了那个RX上的10千欧电阻就行了
主题帖子积分
按照楼主说的方法是可以的,上拉电压接5V就可以了。我用的是Arm,一开始上拉接的3.3V,不好使。接到5V上之后就可以了
主题帖子积分
按照楼主说的方法是可以的,上拉电压接5V就可以了。我用的是Arm,一开始上拉接的3.3V,不好使。接到5V上之 ...
是不是你电阻太大了,用1K的话,就算是3.3V应该也没问题
主题帖子积分
是不是你电阻太大了,用1K的话,就算是3.3V应该也没问题
我用的是10K的,我是看了这个帖子之后,才知道要加上拉电阻,所以就按照帖子上的加了一个10K的
主题帖子积分
我用的是10K的,我是看了这个帖子之后,才知道要加上拉电阻,所以就按照帖子上的加了一个10K的 ...
你好我用的是STM32,没接电阻,发送指令有的没问题,但是复位接收第一个字符接不到,请问你的收发都正常吗,谢谢
主题帖子积分
你好我用的是STM32,没接电阻,发送指令有的没问题,但是复位接收第一个字符接不到,请问你的收发都正常 ...
是不是STM32发送到HMI屏的第一个字符收不到?你STM32里面延时一下试试,再不行你检查一下上电时有没有清除端口的TC状态位,不然发送的第一个字节会丢失。
主题帖子积分
通过STC串口助手发送一位数字,单片机能够接收到(控制的一个io口,有反应),同时单片机发送一串文本字符到电脑上(在STC串口助手上有显示:page main),& && & 把串口屏接到单片机上,再用STC串口助手发送一位数字送到电脑,单片机还能够接收到(控制的一个io口,还有反应), 但此时电脑上串口助手接收位置,没有显示,连在单片机上的串口屏也没有发应。串口屏和当前模拟器刚通过讯(现在已断开).&&救命!单片机怎么才能够和串口屏说上话?谢谢。&&(TX一上拉10K电阻)
if(b==2)//
& &&&{& & & &
& && && && && &n1=0; & & & & X1=0;& & & &&&UART_Send_Str(&page key&);& & & &&&UART_Send_END();
& & & & & & & & & & & &&&
& & & & & & & &&&& & & &
& &{& & & &
& & n1=1;& & & & X1=1;& & UART_Send_Str(&t0.txt=\&58\&&);& & & &&&UART_Send_END();
主题帖子积分
用串口助手里的自动发送窗口,可以控制串口屏。单片机发出的指令在接收窗口可以显示, 串口就是接收不了。求解答!!!!!谢谢
主题帖子积分
请教,发程序到学习板上89C52,89C52可以发数据到串口屏,串口屏有显示。同样发这个程序到另外一块板上的89C52,89C52就不能发数据到串口屏,串口屏没有有显示,是什么原因(这块板的rx 和tx都接了2k的上拉)?& &请答复!急!有知道原因的盆友请帮忙解答!谢谢
主题帖子积分
我用上位机调试可以,改用电脑的串口调试助手就不行了,是不是数据位,停止位,奇偶校验位也要设置的。
请问要怎么设置
主题帖子积分
我用上位机调试可以,改用电脑的串口调试助手就不行了,是不是数据位,停止位,奇偶校验位也要设置的。
没发结束符,或者发送格式不对,控制指令是字符串,结束符是16进制
主题帖子积分
没发结束符,或者发送格式不对,控制指令是字符串,结束符是16进制
搞定了是波特率咩设置好。有另外一个问题,平均一个页面有5个全局变量,可以设置多少页
主题帖子积分
请教下,HMIi界面有没有办法显示串口发送过来的代码
主题帖子积分
您好!现在我想将这个液晶屏只用其显示功能,不用它的触屏功能。用外接键盘对其进行控制操作,如:页面切换,输入数据等。。这个怎么实现?谢谢!
主题帖子积分
您好!现在我想将这个液晶屏只用其显示功能,不用它的触屏功能。用外接键盘对其进行控制操作,如:页面切换 ...
按键按下,通过串口发对应的指令给屏就可以进行相应的控制操作了
主题帖子积分
您好!现在我想将这个液晶屏只用其显示功能,不用它的触屏功能。用外接键盘对其进行控制操作,如:页面切换 ...
您好!感谢您的回复。现在键盘是可以的,但是切换页面特别慢,而且页面抖动剧烈,请问这是什么情况?谢谢!
主题帖子积分
明天试一下 TX接10K或1K上拉电阻。 整了快两天了,电脑能控制屏,STM32串口控制不了屏。。。。快整崩溃了。。。
主题帖子积分
明天试一下 TX接10K或1K上拉电阻。 整了快两天了,电脑能控制屏,STM32串口控制不了屏。。。。快整崩溃了。 ...
控制指令字符串,结束符16进制
主题帖子积分
控制指令字符串,结束符16进制
好吧,我再试一下吧。
你的STM32和串口屏通讯正常吗?
主题帖子积分
我使用该屏幕也有快一年了,开发软件从最早的0.33用到现在的0.38,使用中出了问题,来论坛反馈就说我恶意灌水???节操何在,是真存在问题,不敢让别人看到,还是服务态度问题,不想解决,现在手上出现问题的屏幕不下五块,严重怀疑屏幕质量问题。
主题帖子积分
我使用该屏幕也有快一年了,开发软件从最早的0.33用到现在的0.38,使用中出了问题,来论坛反馈就说我恶意灌 ...
手上的屏幕什么问题??
主题帖子积分
我用的是stc12c5a60S2,单片机给电脑发送字符串在串口助手上可以正常显示,但是在串口屏上就显示不出来,串口屏在第一页设置了与单片机一致的波特率大小,请问这是怎么回事
主题帖子积分
我用的是stc12c5a60S2,单片机给电脑发送字符串在串口助手上可以正常显示,但是在串口屏上就显示不出来,串 ...
用我们自带的上位机或者串口助手发给屏,能正确显示字符吗
主题帖子积分
手上的屏幕什么问题??
不好意思到你的帖子里发了牢骚,因为在使用过程中出现好几块屏液晶背光不同程度的烧坏,还有就是突然黑屏没有反应重新烧写程序又正常的情况,想在论坛的询问一下,结果把我的帖子删除了,说我恶意灌水,有点莫名其妙。。。
主题帖子积分
不好意思到你的帖子里发了牢骚,因为在使用过程中出现好几块屏液晶背光不同程度的烧坏,还有就是突然黑屏 ...
可能是误删,因为最近在每天有几十个垃圾贴要删,可能不小心把你的删了。
主题帖子积分
HMI向单片机发指令 比如printfh 0x01 还要加结束符么
主题帖子积分
HMI向单片机发指令 比如printfh 0x01 还要加结束符么
发给单片机,发不发结束符,和屏没关系,你可以不发,也可以发,看你单片机好处理不。不过有些指令自带结束符的,请看指令集。
主题帖子积分
大家好,我最近在调试51单片机接收屏发送的4个16进制数据,屏指令print&&j0.val ,可是怎么弄单片机都不能成功接收,谁有最简单的程序支持我一下,我就想得到0~100,用print以4位16进制数据发送出来的那个值,或者谁有单片机接收屏数据的C程序也可以给我参考下,我的qq,谢谢大家。
主题帖子积分
我用的stm32作下位机,我给屏发送指令,发送的指令在模拟器里是对的,也在最后加了指令结束符,但是屏上返回的是0X1A+结束符,搞了一天了,也找不到原因.
主题帖子积分
另外上位机的print get指令运行我的stm32接收的信息又是对的,求救啊.
主题帖子积分
我用的stm32作下位机,我给屏发送指令,发送的指令在模拟器里是对的,也在最后加了指令结束符,但是屏上返回的 ...
主题帖子积分
根据示例,现在找到原因了.不用DMA发送就是对的,用DMA发送就不对,不知为什么
主题帖子积分
根据示例,现在找到原因了.不用DMA发送就是对的,用DMA发送就不对,不知为什么
你测试用DMA发送一次,看对不对.
主题帖子积分
我的是因为波特率不对
主题帖子积分
用我们自带的上位机或者串口助手发给屏,能正确显示字符吗
我买这个串口屏并没有串口主助手啊
主题帖子积分
串口与c51单片机通讯波特率一定要用9600吗?9600?其它的行不行?急
主题帖子积分
串口与c51单片机通讯波特率一定要用9600吗?9600?其它的行不行?急
屏的波特率可以修改的,默认出货时9600.
主题帖子积分
我用stc89c52单片机可以在串口屏上显示,但是我换了stc12c5a60s2单片机就不行,显示不出来,我弄了很长时间了。不知道该怎么办了。请大神帮我一下。
主题帖子积分
我用的是stc12c5a60S2,单片机给电脑发送字符串在串口助手上可以正常显示,但是在串口屏上就显示不出来,串 ...
我也是这个问题,你的程序有吗
主题帖子积分
我從 2015年9月開始買串口HMI, 一開始使用MAX232轉換(非 TTL),所以連不上,後來弄清楚後,直接使用單片機控制就一直沒出問題,廠內也已經有開發 20 多個案子使用中,但最近覺得 STC89C52RC 速度慢了些,改使用 STC 15F2K16S2,第一個案子使用加強型的 3.2吋沒問題,但這 2 天拿一個基本型的3.2吋試機,發現 串口HMI可以傳指令給單片機,但串口HMI 無法收到 單片機傳的指令,我於 Tx有加一個 10K 的上拉電阻,也將 Tx設為推挽輸出也無效,我自行寫一個 PC 的小程式代替串口HMI,發現單片機對PC 的小程式(代替串口HMI) 傳送及接收的指令都正確,我還會繼續試下去,是否有誰可建議解決的方向 !
主题帖子积分
上週於蘇州工廠使用基本型 3.2寸串口HMI試機,串口HMI 一直無法收到單片機傳的指令,今天回到台灣使用加強型 3.2寸串口HMI,使用相同的硬體及軟體, 單片機及串口HMI間的雙向通信接正常,除了更換加強型 3.2寸串口HMI我也將 Pull High 電阻移除,因為於論壇曾看到有人談起 Rx 的 Pull High 電阻移除,就解決通信的問題,但在此之前我於 Tx & Rx 皆有接Pull High 電阻.
主题帖子积分
我也是这个问题,你的程序有吗
你好,请问你的调通了没,我的stc12&&,我屏幕可以跟电脑的串口调试助手通信,但是就是跟单片机通信不了,我单片机也可以跟电脑通信,都是好的,是不是跟他们说的要接上拉电阻有关?
主题帖子积分
怎么把设计好的界面 显示出来。怎么将51单片机与屏相连、求救 ,急急急
主题帖子积分
你好,请问你的调通了没,我的stc12&&,我屏幕可以跟电脑的串口调试助手通信,但是就是跟单片机通信不了 ...
我的好了,调了好几天。我是在我的发送语句前后加延时
主题帖子积分
通过上面方法,需不需要对串口HMI写指令接收。
通过HMI模拟器看到接收到的是十六进制得数,这接收的对吗
主题帖子积分
是不是你电阻太大了,用1K的话,就算是3.3V应该也没问题
大侠你好!我是新入门的菜鸟,有个简单的问题想请教你一下,还望不吝赐教。
我现在要做一个显示屏,需要根据输入的数据进行分析,然后根据分析的结果选择显示哪个页面。
问题是,这个数据分析的代码可以写在 HMI的程序里面吗?还是必须要用单片机实现?
如果可以在HMI里面做数据分析,那代表是写在哪里呢?
主题帖子积分
楼主 能用printf()发送字符 和 十六进制的结束符么?
Powered bySTC89C52单片机发送字符串_百度知道
STC89C52单片机发送字符串
r”这样的字符串?,按下按键使单片机发送AT指令如“AT+CA\n&#92如何做到通过按键连接单片机P1.X口
我有更好的答案
先是按键检测,P1口的话就是在主程序中循环检测IO口高低电平就行了;;)然后通过SBUF=table[i]发送,当然还要考虑去抖动,检测到按键按下之后进行字符串发送处理。字符串只能一个一个字节的发送,一般将字符串定义为数组,(如unsigned char code table[]=&AT+CA\n\r&quot
为您推荐:
其他类似问题
您可能关注的内容
stc89c52的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。用两个AT89C52联调,一个发送,一个接收,用LCD显示一个字符串,怎么用C语言编程?_百度知道
用两个AT89C52联调,一个发送,一个接收,用LCD显示一个字符串,怎么用C语言编程?
我有更好的答案
至于显示其实很简单,这个LCD是很好用的,哦,对了,既然数据都有了还怕显示,直接调用LCD1602的库函数,一个接收,发送的直接将数据写到发送缓存,而接受的当接受到数据后会自动产生中断,你此时只需在中断程序中把接受缓存中的数据读出即可,AT89C52会自动把数据发送出去一个发送,注意发送波特率的一致,OK
就是不会写程序啊~~~~怎么写?
晕,不会写,那就先从基础开始写,多看,多写,慢慢就会呢,这次别人给你写,你永远都不会写
不是不会写,发送的能够显示,但接收的显示不了~~~~改了好几次都不行
采纳率:15%
为您推荐:
其他类似问题
您可能关注的内容
c语言编程的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。单片机STC-89C52RC 通过发送按键字符在串口助手里显示,求程序,急用,在线等……_百度知道
单片机STC-89C52RC 通过发送按键字符在串口助手里显示,求程序,急用,在线等……
就是在单片机上按下1键在串口调试助手里显示1,按下2键显示2,以此类推,共四个按键。波特率9600.
我有更好的答案
4&#39,while(!TI);TI=0;SBUF='}
if(key4==0){while(key4==0);sbit key1=P1^0;sbit key2=P1^1;}
if(key2==0){while(key2==0),while(!TI);TI=0;main(){TMOD=0x20;SCON=0x50;TH1=0TI=0;}
if(key3==0){while(key3==0);SBUF='3'!TI);,while(;sbit key3=P1^2;sbit key4=P1^3;2'SBUF='TL1=0TR1=1;while(1)
if(key1==0){while(key1==0);SBUF='1'#include&reg51.h&gt!TI);,while(
编译出错了,
#include&reg51.h&sbit key1=P1^0;sbit key2=P1^1;sbit key3=P1^2;sbit key4=P1^3;main(){TMOD=0x20;SCON=0x50;TH1=0TL1=0TR1=1;while(1)
if(key1==0){while(key1==0);SBUF='1';while(!TI);TI=0;}
if(key2==0){while(key2==0);SBUF='2';while(!TI);TI=0;}
if(key3==0){while(key3==0);SBUF='3';while(!TI);TI=0;}
if(key4==0){while(key4==0);SBUF='4';while(!TI);TI=0;}
谢谢了,发过去显示是十六进制的,调不对,还是要谢谢你了
你将显示模式切换为字符模式就可以了。
切换了 ,还是不行的,没办法了。
切换了 ,还是不行的,没办法了。
你截图是十六进制模式显示呀,不行你将发送的地方改一下if(key1==0){while(key1==0);SBUF=0x31;while(!TI);TI=0;}
if(key2==0){while(key2==0);SBUF=0x32;while(!TI);TI=0;}
if(key3==0){while(key3==0);SBUF=0x33;while(!TI);TI=0;}
if(key4==0){while(key4==0);SBUF=0x34;while(!TI);TI=0;}
程序也修改了,还是一样的,试了好多了,无论是字符还是十六进制,几本组合都尝试了
接收的数据显然是不对的,这个原因可能是波特率不一致造成,你看看单片机的晶振是多少,程序的设计如果晶振是11.0592M或12M的情况下是9600,你看看是不是你的单片机晶振有问题。
采纳率:77%
来自团队:
在串口助手,选择“文本模式”就可以显示字符了。
为您推荐:
其他类似问题
串口助手的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。}

我要回帖

更多关于 js删除第一个字符串 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信