单片机串口问题

\u5355\u7247\u673a\u4e32\u53e3\u95ee\u9898\uff01

\u89c4\u5f8b\u5b9e\u9645\u4e0a\u662f\uff1a'0'-49,'1'-50,'2'-51,...
\u4f60\u53d1\u9001\u524d\u5c06\u53d1\u9001\u7684\u6570\u503c\u51cf\u53bb'0'\u5373\u53ef\uff1b
\u4f60\u53ef\u4ee5\u4e00\u6b21\u53d1\u4e24\u4e2a\u6570\uff0c\u7b2c\u4e00\u4e2a\u6570\u662f\u8ba1\u6570\u503c\uff0c\u7b2c\u4e8c\u4e2a\u6570\u662f\u4efb\u610f\u6570\uff0c\u7136\u540e\u4e00\u6b21\u663e\u793a\u5373\u53ef\u3002
0\uff5e65535\u6570\u636e\u53ef\u4ee5\u5206\u62104\u4e2a\u5b57\u8282\u5206\u522b\u987a\u5e8f\u53d1\u9001\u3002

\u6539\u4f4e\u6ce2\u7279\u7387\u8bd5\u8bd5\uff0c\u4e32\u53e3\u4e2d\u65ad\u4e0d\u5efa\u8bae\u5199\u5f88\u957f\uff0c\u53ef\u4ee5\u7528\u4e2a\u961f\u5217\u5f53Buffer\uff0c\u5199\u5f97\u592a\u957f\u8fd8\u6ca1\u6267\u884c\u5b8c\u5c31\u53c8\u6709\u6570\u636e\u9001\u6765\uff0c\u800c\u8fd9\u65f6\u8fd8\u6ca1\u6e05\u4e2d\u65ad\u6807\u5fd7\uff0c\u5c31\u4f1a\u4e22\u6570\u636e

U1:串口工作方式是SCON=0x80,而U2串口工作方式是:SCON=0x50,两者不相同,不能通信哪。U1也改成SCON=0x50才行的。
U1:还没有发送数据呢,就先TI=1;,删掉这行。
U2:还没有收到数据呢,就先RI=1;,删掉这行。
U2:中断方式接收,应开中断哪:要有:IE=0x90;
U1,U2:TMOD=0x16,错误,改为:TMOD=0x10
U2:不要在中断程序中延时,waiti();删掉这行,可放在主程序中,无限延时等待接收数据
U2,换成8个可点亮的LED。
错误太多了,能显示就怪了!

U1的TMOD=0x16;是错误的应改为TMOD=0x26;
U1的while(TI==1);也是错误的,应改为while(TI==0);或while(!TI);
U2的TMOD=0x16;是错误的应改为TMOD=0x26;
U2的RI = 1时没有意义的。

U2没有开中断,应在main()里增加ES = 1;EA = 1;
U2的中断函数里是不能调用其它函数的

  • 涓插彛鏃犵嚎閫忎紶鍗曠墖鏈杩炰笉涓
    绛旓細1銆佺‖浠堕棶棰橈細鍦ㄨ繛鎺鍗曠墖鏈轰覆鍙鏃讹紝濡傛灉纭欢杩炴帴涓嶆甯革紝姣斿涓插彛绾挎澗鍔ㄧ瓑锛屽氨浼氬紩璧疯繛鎺ュけ璐ャ2銆佽蒋浠堕棶棰橈細闄や簡纭欢闂涔嬪锛岃蒋浠堕棶棰樹篃鏄鑷村崟鐗囨満涓插彛杩炴帴澶辫触鐨勪富瑕佸師鍥狅紝姣斿娉㈢壒鐜囨病鏈夎缃銆
  • 鎵撳紑涓插彛鍗曠墖鏈灏辨柇鐢
    绛旓細1. 涓插彛杩炴帴涓嶇ǔ瀹氾細妫鏌ヤ覆鍙h繛鎺ユ槸鍚︾墷鍥猴紝纭繚鎺ョ嚎鏃犳澗鍔ㄦ垨鐭矾銆2. 涓插彛寮曡剼閰嶇疆閿欒锛氱‘璁鍗曠墖鏈鐨勪覆鍙e紩鑴氶厤缃纭紝渚嬪寮曡剼鍔熻兘鏈缃负涓插彛閫氫俊鍔熻兘銆3. 鐢垫簮涓嶇ǔ瀹氾細妫鏌ュ崟鐗囨満鐨勭數婧愪緵搴旀槸鍚︾ǔ瀹氾紝纭繚鐢垫簮鐢靛帇鍜岀數娴佽兘澶熸弧瓒冲崟鐗囨満鐨勮姹傘4. 涓插彛淇″彿骞叉壈锛氭鏌ュ懆鍥寸幆澧冩槸鍚﹀瓨鍦ㄥ共鎵版簮锛屽鍏朵粬鐢电...
  • 鍗曠墖鏈轰覆鍙浼犺緭鏁版嵁鍑虹幇杩囧ぇ鏄粈涔闂
    绛旓細缂撳啿鍖烘孩鍑恒鍗曠墖鏈鍙戦佺殑鏁版嵁閲忚秴杩囦簡涓插彛鍙戦佺紦鍐插尯鐨勫閲忥紝灏变細鍙戠敓缂撳啿鍖烘孩鍑猴紝杩欎細瀵艰嚧鏁版嵁涓㈠け鎴栭敊璇紝瑙e喅鏂规硶鏄鏌ョ紦鍐插尯鐨勫ぇ灏忥紝骞剁‘淇濅笉瑕佸彂閫佽秴杩囩紦鍐插尯瀹归噺鐨勬暟鎹噺銆
  • 鍏充簬51鍗曠墖鏈鐨涓插彛,涓嬪垪鍝簺璇存硶鏄敊璇殑( )
    绛旓細1銆鍗曠墖鏈浣跨敤鐨勬槸TTL鐢靛钩锛岃孭C鏈轰娇鐢ㄧ殑鏄疌MOS鐢靛钩銆傛墍浠ュ畠浠箣闂寸殑閫氳锛岄渶瑕佺數骞宠浆鎹紝鑰孧AX232灏辨槸杩欑杞崲鐨勫吀鍨嬭姱鐗囥3銆涓插彛閫氳鐨勫崗璁腑瑙勫畾锛岃捣濮嬩綅 涓 浣庣數骞炽傝繖鍐冲畾浜嗗湪绌洪棽鐘舵佷腑锛屾帴鏀跺紩鑴氬钩鏃跺簲涓洪珮鐢靛钩锛岄偅涔堝搴旂殑锛屽氨蹇呴』鍙戦佹柟鐨凾X鍦ㄧ┖闂茬姸鎬佷笅涓洪珮鐢靛钩銆4銆佷覆鍙i氳鏂瑰紡鏈4绉嶏細鏂瑰紡0...
  • 51鍗曠墖鏈涓庤绠楁満涓插彛閫氫俊鏃犳硶璇诲嚭鏁版嵁?
    绛旓細绛旓細1 鍒ゆ柇浣犵殑纭欢鏈夋病鏈夐棶棰橈紱鏂规硶鏄 鐢ㄨ烦绾胯涓插彛鐨刾in2 鍜宲in3鐭帴锛岀敤涓插彛璋冭瘯鍔╂墜鍙戦佹暟鎹湅璋冭瘯鍔╂墜鑳戒笉 鑳借嚜宸辨敹鍒帮紝鑳藉氨璇存槑鏄崟鐗囨満绋嬪簭鏈夐棶棰 2 浣犳鏌ヤ綘鐨勬尝鐗圭巼鏄敓鎴愮▼搴忔槸鍚︽纭紝 涓柇鍜屼富绋嬪簭鐢 1妤肩粰浣犵▼搴忥紝鎴戠湅浜 娌¢棶棰樸傝繖鏍峰氨鍙互瀹炵幇涓插彛閫氫俊浜 ...
  • 鍏充簬鍗曠墖鏈轰覆鍙鍚屾椂鏀跺彂鏁版嵁鐨勬椂搴闂
    绛旓細1.涓嶇浣犳湁娌℃湁澶勭悊RI锛岃繕鏄湪缁х画鎺ユ敹鏁版嵁鐨勩傛暟鎹帴鏀跺畬鎴愪箣鍚庯紝鏁版嵁浠庣Щ浣嶅瘎瀛樺櫒杞Щ鍒版暟鎹瘎瀛樺櫒涓紝杩欐椂鎵嶄骇鐢熶腑鏂紝浣嗙Щ浣嶅瘎瀛樺櫒鏄┖鐨勶紝杩樺彲浠ョ户缁帴鏀舵暟鎹2.浣犳兂璁涓插彛鐨勬敹鍜屽彂鍚屾椂宸ヤ綔锛岄偅灏卞彧鑳戒娇鐢ㄤ腑鏂柟寮忥紝浣犵敤鏌ヨ鏂瑰紡鏄笉鍙兘鐨勩傚鏋滄槸浣跨敤鈥滃崐鍙屽伐鈥濓紝閭e氨绠鍗曚簺锛欰鏌ヨ鏂规硶鍙戦佹暟鎹紝...
  • 鍗曠墖鏈轰覆鍙閫氫俊鏃惰屾甯,鏃惰屼笉姝e父,纭欢娌闂,搴旇鏄椂搴忛棶棰,涓鑸細...
    绛旓細闂鍘熷洜鍙兘鏄涓嬪嚑涓柟闈細1銆佹槸鍚︿娇鐢ㄧ殑鏄疷SB杞涓插彛鐨勮浆鎹㈢嚎锛熻繖绉嶆柟寮忕洰鍓嶅嚭闂澶浜嗭紝绯荤粺姝e父杩愯鐘舵佷笅杩樺ソ鐐癸紝濡傛灉鍗曠墖鏈璁惧棰戠箒涓婁笅鐢甸棶棰樺氨鐗瑰埆澶氾紝鑰屼笖濂藉儚娌℃湁澶ソ鐨勮В鍐虫柟娉曘2銆侀氳鍙屾柟鐨勫崗璁槸鍚︿笉鍖归厤锛熸尝鐗圭巼涓嶈浜嗭紝杩樻湁姣斿鏄惁閮芥槸1涓捣濮嬩綅锛8涓暟鎹綅锛1涓仠姝綅锛屼簩鑰呭簲涓鑷...
  • 5V鍗曠墖鏈轰笌3.3V鍗曠墖鏈轰覆鍙閫氫俊闂
    绛旓細5V鍗曠墖鏈轰笌3.3V鍗曠墖鏈轰覆鍙涓嶈兘閫氫俊锛屾槸璁剧疆閿欒閫犳垚鐨勶紝瑙e喅鏂规硶濡備笅锛1銆侀鍏51鍗曠墖鏈虹殑鍙敤鍐呭瓨鍙湁00H~7FH锛屽爢鏍堟寚閽堣缃湪60H锛屽垯鍫嗘爤鐨勫ぇ灏忓氨鏄60H~7FH銆傝繖绠楁槸鏈夎瀹氬ぇ灏忕殑銆2銆佸爢鏍堜富瑕佹槸涓哄瓙绋嬪簭璋冪敤鍜屼腑鏂搷浣滆岃绔嬬殑锛屽洜姝ゅ搴旀湁涓ら」鍔熻兘锛氫繚鎶ゆ柇鐐瑰拰淇濇姢鐜板満銆3銆佸崟鐗囨満鐨勭▼搴忓綊鏍圭粨搴曟槸...
  • 涓や釜51鍗曠墖鏈485涓插彛閫氫俊鎺ユ敹鏁版嵁鍑洪敊鍘熷洜?澶ф鍙戦佷笁銆佷簲娆′細鏈変竴娆...
    绛旓細1锛庢湁浜哄湪鍙戦佹暟鎹箣鍓嶏紝鍏堝叧闂簡涓插彛涓柇锛佺瓑寰呭彂閫佸畬姣曞悗锛屽啀鎵撳紑涓插彛涓柇銆傝繖鏍凤紝鍦ㄥ彂閫佹暟鎹殑绛夊緟鏈熼棿鍐咃紝濡傛灉鏀跺埌浜嗘暟鎹紝灏嗕笉鑳借繘鍏ヤ腑鏂嚱鏁帮紝涔熷氨涓嶄細淇濆瓨鐨勮繖涓柊鏀跺埌鐨勬暟鎹傝繖绉嶅鐞嗘柟娉曪紝灏变細閬楁紡鏀跺埌鐨勬暟鎹2锛庢湁浜哄湪鍙戦佹暟鎹箣鍓嶏紝骞舵病鏈夊叧闂覆鍙d腑鏂紝褰 TI = 1 鏃讹紝鏄彲浠ヨ繘鍏ヤ腑鏂...
  • 鍗曠墖鏈涓涓插彛宸ヤ綔鏂瑰紡闂
    绛旓細SM0=0銆丼M1=0涓茶鍙宸ヤ綔浜庢柟寮0锛屽嵆涓茶瀵勫瓨鍣ㄦ柟寮忥細锛1锛 鏁版嵁浠嶳XD寮曡剼涓婂彂閫佹垨鎺ユ敹銆備竴甯т俊鎭敱8浣嶆暟鎹粍鎴愶紝浣庝綅鍦ㄥ墠銆傦紙2锛 娉㈢壒鐜囧浐瀹氾紝涓 oscf/12 锛3锛 鍚屾绉讳綅鑴夊啿浠嶵XD寮曡剼涓婅緭鍑恒傚叧浜庡拰 I2C 鐨勫尯鍒紝涓插彛閫氫俊鍜孖2C閮芥槸涓茶閫氫俊锛涗絾涓插彛閫氫俊鏄疪S232鍗忚锛孖2C閫氫俊鏄伒寰狪2C鍗忚锛屾槸涓...
  • 扩展阅读:单片机模拟串口 ... 51单片机四种工作方式 ... 51单片机检测不到串口 ... 并口和串口的区别 ... 电脑检测不到串口 ... 串口通信简单流程图 ... 单片机问题及答案 ... 怎么查看单片机串口 ... 单片机与单片机串口通信 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网