• <cite id="uwv89"></cite>
      1. 亚洲综合小综合中文字幕,国产久爱免费精品视频,精品国产品香蕉在线,国产午夜精品在人线播放,精品一二三四区在线观看,国产成人无码免费看视频软件 ,色欲久久人妻内射,午夜在线观看成人av
        liuliangdt
        liuliangdt
        級別: 家園常客
        精華主題: 0
        發(fā)帖數(shù)量: 443 個
        工控威望: 682 點
        下載積分: 66148 分
        在線時間: 994(小時)
        注冊時間: 2010-09-05
        最后登錄: 2025-08-31
        查看liuliangdt的 主題 / 回貼
        樓主  發(fā)表于: 2014-03-04 23:02
        小哥是個單片機業(yè)余愛好者,接觸單片機有幾年了。但很汗顏,水平一直還在入門口徘徊。本來想弄一個類似于多站通信的網(wǎng)絡(luò)結(jié)構(gòu)程序玩。寫相互通信就的地方卡住了,再也寫不下去。現(xiàn)在跪求壇友幫忙,因為寫不下去已經(jīng)幾個月沒碰單片機了。太恨了···
        介紹一下通訊方案。一串信息幀有5個字節(jié)組成,主站發(fā)出一串信息幀后由對于的從站響應。因為從站要快速響應所以就設(shè)計在中斷程序里回應(回復)。問題就出在這回應的子程序。同一個子程序,在主程序里順序執(zhí)行的時候和其它站是正常通訊。但要快速回應還得在中斷里執(zhí)行才行。從中斷程序里發(fā)出通信信息都亂了,接收方收不到正確的信息。我已經(jīng)試過了我想到可能性,但都不對。希望壇友們幫忙找出錯誤。在查錯時最好要有兩塊單片機硬件聯(lián)機,然后在它們RS-485信號處連到電腦的串口助手里看那些錯誤的字節(jié)。
        如有沒講請清楚的地方待補充。
        描述:解壓文件
        附件: 測試字符串通訊0#主機通訊.rar (23 K) 下載次數(shù):28
        supermax
        級別: 工控俠客
        精華主題: 0
        發(fā)帖數(shù)量: 590 個
        工控威望: 2540 點
        下載積分: 3642 分
        在線時間: 375(小時)
        注冊時間: 2011-03-20
        最后登錄: 2021-03-26
        查看supermax的 主題 / 回貼
        1樓  發(fā)表于: 2014-03-06 07:20
        給樓主一例子,
        //--------------------------------------------------------------
        /*====================================
        *名稱:lcd_str.c
        *功能:從串口調(diào)試工具發(fā)送一字符串到單片機,在lcd1602和串口調(diào)試工具上顯示【未加入校驗】
        *作者:flying 09-2-23
        *修改:
        ======================================*/
        #include<reg51.h>
        #define uchar unsigned char
        #define uint unsigned int
        sbit lcden = P3^5;
        sbit lcdrw = P3^6;
        sbit lcdrs = P3^7;
        uchar table[10];
        uchar i, j, flag;
        void delay(uint n)
        {
                uint x,y;
                for( x = n; x > 0; x--)
                        for( y = 110; y > 0; y-- );
        }
        //lcd寫命令函數(shù)
        void lcdwrite_com( uchar com )
        {
                lcdrs = 0;
                lcdrw = 0;
                P0 = com;
                delay(5);
                lcden = 1;
                delay(5);
                lcden = 0;
        }
        //lcd寫數(shù)據(jù)
        void lcdwrite_date( uchar date )
        {
                lcdrs = 1;
                lcdrw = 0;
                P0 = date;
                delay(5);
                lcden = 1;
                delay(5);
                lcden  = 0;
        }
        //lcd初始化
        void lcd_init()
        {
                lcden = 0;
                lcdwrite_com( 0x38 );//顯示模式設(shè)置
                lcdwrite_com( 0x0e );//顯示光標
                lcdwrite_com( 0x01 );//清屏
                lcdwrite_com( 0x80 + 2 );//數(shù)據(jù)指針設(shè)置
        }
        //串口初始化
        void serial_init()
        {
                TMOD = 0x20;
                TH1 = 0xfd;         //9600赫茲
                TL1 = 0xfd;
                TR1 = 1;        //開啟時間中斷

                SCON = 0x50;//方式2
                SM2 = 1;        //可以向cpu請求中斷
                EA = 1;                //開總中斷
                ES = 1;                //開串口中斷        
        }
        void putchar( uchar ch )//發(fā)送數(shù)據(jù)
        {
                SBUF = ch;
                while( !TI );
                TI = 0;
        }
        void main()
        {
                lcd_init();
                serial_init();
                while(1)
                {        
                        delay(20);
                        while( table[j] != '\0' && flag == 1 )
                        {
                                j = j >= 10 ? 0 : j;
                                putchar( table[j] );
                                lcdwrite_date( table[j] );
                                j++;
                //                delay(10);
                        }
                }
        }
        void Serial() interrupt 4
        {
                RI = 0;
                if( SBUF != '#')//遇到#終止寫
                {
                        table = SBUF;
                        i++;
                }
                else
                        flag = 1;
        }
        本帖最近評分記錄:
      2. 下載積分:+5(liuliangdt) 熱心助人!
        supermax
        級別: 工控俠客
        精華主題: 0
        發(fā)帖數(shù)量: 590 個
        工控威望: 2540 點
        下載積分: 3642 分
        在線時間: 375(小時)
        注冊時間: 2011-03-20
        最后登錄: 2021-03-26
        查看supermax的 主題 / 回貼
        2樓  發(fā)表于: 2014-03-07 07:15
        不是一組
        supermax
        級別: 工控俠客
        精華主題: 0
        發(fā)帖數(shù)量: 590 個
        工控威望: 2540 點
        下載積分: 3642 分
        在線時間: 375(小時)
        注冊時間: 2011-03-20
        最后登錄: 2021-03-26
        查看supermax的 主題 / 回貼
        3樓  發(fā)表于: 2014-03-07 09:06
        table,,是數(shù)組,而/**table = SBUF;**/已經(jīng)注釋了被屏蔽了在程序里不起作用。

        supermax
        級別: 工控俠客
        精華主題: 0
        發(fā)帖數(shù)量: 590 個
        工控威望: 2540 點
        下載積分: 3642 分
        在線時間: 375(小時)
        注冊時間: 2011-03-20
        最后登錄: 2021-03-26
        查看supermax的 主題 / 回貼
        4樓  發(fā)表于: 2014-03-07 09:15
        我的原程沒有注釋的,但你發(fā)問已經(jīng)打上注釋符
        supermax
        級別: 工控俠客
        精華主題: 0
        發(fā)帖數(shù)量: 590 個
        工控威望: 2540 點
        下載積分: 3642 分
        在線時間: 375(小時)
        注冊時間: 2011-03-20
        最后登錄: 2021-03-26
        查看supermax的 主題 / 回貼
        5樓  發(fā)表于: 2014-03-07 09:17
        那幾句意思是:如果 j >= 10,,就 j = 0,
        只是把table 指向 sbuf,
        supermax
        級別: 工控俠客
        精華主題: 0
        發(fā)帖數(shù)量: 590 個
        工控威望: 2540 點
        下載積分: 3642 分
        在線時間: 375(小時)
        注冊時間: 2011-03-20
        最后登錄: 2021-03-26
        查看supermax的 主題 / 回貼
        6樓  發(fā)表于: 2014-03-07 09:21
        再有不明白你最好請教:shi2999,,我只是他手下,他真是恐怖的高手,我的一切都他教的,我也是剛?cè)腴T。
        supermax
        級別: 工控俠客
        精華主題: 0
        發(fā)帖數(shù)量: 590 個
        工控威望: 2540 點
        下載積分: 3642 分
        在線時間: 375(小時)
        注冊時間: 2011-03-20
        最后登錄: 2021-03-26
        查看supermax的 主題 / 回貼
        7樓  發(fā)表于: 2014-03-07 13:48
        引用
        引用第11樓liuliangdt于2014-03-07 11:27發(fā)表的  :



        一起共勉一起學習吧!
        那兩句我那樣寫不出來。學習了。

        坦白說我平時不學51單片的,我們?nèi)径加肁RM了。
        本帖最近評分記錄:
      3. 下載積分:+5(liuliangdt) 真誠感謝!
        supermax
        級別: 工控俠客
        精華主題: 0
        發(fā)帖數(shù)量: 590 個
        工控威望: 2540 點
        下載積分: 3642 分
        在線時間: 375(小時)
        注冊時間: 2011-03-20
        最后登錄: 2021-03-26
        查看supermax的 主題 / 回貼
        8樓  發(fā)表于: 2014-03-09 06:59
        樓主想這貼不沉下去,幾乎不可能,因為沒幾個搞低壓工業(yè)電器又能搞單片機,幾乎是百萬中無一,你的問題沒幾個人能答上,自學單片并能與最新技術(shù)ARM同步成功的人可能是天才中的天才,不過還是不斷地有人勇于挑戰(zhàn)這個難于登天的高峰。樓主還是多百度一下吧!

        主站蜘蛛池模板: 粉嫩在线一区二区三区视频| 黑人巨大AV在线播放无码 | 少妇粗大进出白浆嘿嘿视频| 日韩不卡一区二区三区四区 | 国产亚洲精品成人aa片新蒲金| 国内精品久久人妻无码不卡| 美女爽到高潮嗷嗷嗷叫免费网站| 少妇高潮喷水正在播放| 亚洲中文字幕日韩精品| 色吊丝二区三区中文字幕| 亚洲精品综合久久国产二区| 亚洲男人av天堂久久资源| 人人妻人人澡人人爽曰本| 狠狠色狠狠色综合日日不卡| 国产免费一区二区三区在线观看| 99久久99久久精品免费看蜜桃| 成年美女黄网站色大片免费看| 国产在线不卡精品网站| 熟女系列丰满熟妇AV| 亚洲av日韩av永久无码电影| 好男人官网资源在线观看| 九色综合久99久久精品| 天堂网av一区二区三区| 亚洲午夜久久久久久噜噜噜| 亚洲精品成人无限看| 无码熟妇人妻av在线电影| 天堂一区二区三区av| 久久久av男人的天堂| 亚洲AV高清一区二区三区尤物| 天堂av在线一区二区| 国产无码高清视频不卡| 99热门精品一区二区三区无码 | 中文字幕日韩有码一区| 男女性杂交内射女bbwxz| 成人国产精品中文字幕| 国产精品中文字幕视频| www久久只有这里有精品| 中文字幕精品人妻丝袜| 日韩亚洲精品中文字幕| 东方av四虎在线观看| 国产精品自在线拍国产手机版|