91美女视频-亚洲免费观看视频-欧美a∨-久热在线视频-日韩黄网站-成av人片在线观看www-久操综合-超碰av在线播放-性欧美欧美巨大69-婷婷二区-av男人的天堂网-中文字幕一区在线播放-玖草在线观看-国产网址在线观看-免费在线不卡av

liuliangdt
liuliangdt
級別: 家園常客
精華主題: 0
發帖數量: 416 個
工控威望: 687 點
下載積分: 66159 分
在線時間: 1003(小時)
注冊時間: 2010-09-05
最后登錄: 2025-10-15
查看liuliangdt的 主題 / 回貼
樓主  發表于: 2014-03-04 23:02
小哥是個單片機業余愛好者,接觸單片機有幾年了。但很汗顏,水平一直還在入門口徘徊。本來想弄一個類似于多站通信的網絡結構程序玩。寫相互通信就的地方卡住了,再也寫不下去。現在跪求壇友幫忙,因為寫不下去已經幾個月沒碰單片機了。太恨了···
介紹一下通訊方案。一串信息幀有5個字節組成,主站發出一串信息幀后由對于的從站響應。因為從站要快速響應所以就設計在中斷程序里回應(回復)。問題就出在這回應的子程序。同一個子程序,在主程序里順序執行的時候和其它站是正常通訊。但要快速回應還得在中斷里執行才行。從中斷程序里發出通信信息都亂了,接收方收不到正確的信息。我已經試過了我想到可能性,但都不對。希望壇友們幫忙找出錯誤。在查錯時最好要有兩塊單片機硬件聯機,然后在它們RS-485信號處連到電腦的串口助手里看那些錯誤的字節。
如有沒講請清楚的地方待補充。
描述:解壓文件
附件: 測試字符串通訊0#主機通訊.rar (23 K) 下載次數:28
supermax
級別: 工控俠客
精華主題: 0
發帖數量: 575 個
工控威望: 2540 點
下載積分: 3642 分
在線時間: 375(小時)
注冊時間: 2011-03-20
最后登錄: 2021-03-26
查看supermax的 主題 / 回貼
1樓  發表于: 2014-03-06 07:20
給樓主一例子,
//--------------------------------------------------------------
/*====================================
*名稱:lcd_str.c
*功能:從串口調試工具發送一字符串到單片機,在lcd1602和串口調試工具上顯示【未加入校驗】
*作者: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寫命令函數
void lcdwrite_com( uchar com )
{
        lcdrs = 0;
        lcdrw = 0;
        P0 = com;
        delay(5);
        lcden = 1;
        delay(5);
        lcden = 0;
}
//lcd寫數據
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 );//顯示模式設置
        lcdwrite_com( 0x0e );//顯示光標
        lcdwrite_com( 0x01 );//清屏
        lcdwrite_com( 0x80 + 2 );//數據指針設置
}
//串口初始化
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 )//發送數據
{
        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;
}
本帖最近評分記錄:
  • 下載積分:+5(liuliangdt) 熱心助人!
    supermax
    級別: 工控俠客
    精華主題: 0
    發帖數量: 575 個
    工控威望: 2540 點
    下載積分: 3642 分
    在線時間: 375(小時)
    注冊時間: 2011-03-20
    最后登錄: 2021-03-26
    查看supermax的 主題 / 回貼
    2樓  發表于: 2014-03-07 07:15
    不是一組
    supermax
    級別: 工控俠客
    精華主題: 0
    發帖數量: 575 個
    工控威望: 2540 點
    下載積分: 3642 分
    在線時間: 375(小時)
    注冊時間: 2011-03-20
    最后登錄: 2021-03-26
    查看supermax的 主題 / 回貼
    3樓  發表于: 2014-03-07 09:06
    table,,是數組,而/**table = SBUF;**/已經注釋了被屏蔽了在程序里不起作用。

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



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

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

    主站蜘蛛池模板: 综合色导航 | 激情小说欧美色图 | 99免费精品视频 | 99久久久无码国产精品性色戒 | 国产成人精品免高潮在线观看 | 黄色小视频免费看 | 国产精品久久久久久久久久久久久久久久久久 | 国内自拍视频在线播放 | 国产高清黄色 | 欧美高清hd18日本 | 欧美亚洲图片小说 | 丰满少妇久久久久久久 | 原神女裸体看个够无遮挡 | 91手机在线观看 | 香蕉视频成人在线 | 神马午夜视频 | 深田咏美av在线 | 性色欲网站人妻丰满中文久久不卡 | 成人天堂噜噜噜 | 中文久久久 | 新国产视频 | 曰韩av | 日韩精品中文字幕在线观看 | 亚色影库 | 国产欧美一区二区三区鸳鸯浴 | 高清国产mv在线观看 | 国产探花一区二区三区 | 69精品久久 | 亚洲视频在线一区二区 | 视频在线不卡 | 中文字幕超清在线免费观看 | 国产精品99无码一区二区视频 | 亚洲综合视频网 | 久久亚洲美女 | 国产精品免费一区二区三区 | 久久动态图 | 免费又黄又爽又色的视频 | 嫩草嫩草嫩草嫩草嫩草 | 午夜av一区二区三区 | 娇妻被老王脔到高潮失禁视频 | 密桃av在线 | 丰满人妻一区二区三区四区53 | 成人午夜剧场视频网站 | 裸体一区二区三区 | 夜噜噜 | 99视频国产精品免费观看a | 靠逼在线观看 | 国产网站在线看 | 午夜视频在线观看网站 | 91久久网 | youjizz.com国产 | 国产人成 | 久热只有精品 | 两个人做羞羞的视频 | 国产精品久久久久久亚洲色 | 日批在线 | 亚洲黄色中文字幕 | avtt2015| 亚洲最新网址 | 性――交――性――乱a | 在线看片日韩 | 阿v免费视频 | 欧美精品免费看 | 涩涩涩在线视频 | 亚洲无色| 在线观看a级片 | 中文字幕在线国产 | 丁香六月婷婷 | 欧美手机看片 | 欧美另类xxxx | 精品人妻伦一二三区久 | 日韩国产在线 | 国产视频在线观看一区二区 | 成人性生交大片免费卡看 | 欧美少妇18p | 麻豆亚洲av熟女国产一区二 | 熟妇熟女乱妇乱女网站 | 成人国产精品 | 成人欧美一区二区三区黑人一 | www.一起操| 激情综合站 | 国产精品 欧美 日韩 | 色欲一区二区三区精品a片 美日韩av在线 | 涩涩视频免费观看 | 日韩精品网址 | 男人插女人网站 | 一区免费 | www.亚洲在线| 国内自拍一区 | 欧洲女性下面有没有毛发 | 强侵犯の奶水授乳羞羞漫虐 | 在线观看黄色av | 杨幂一区二区国产精品 | av在线免费播放网站 | 99re视频这里只有精品 | 国产一区精品视频 | 97超碰免费 | 成人动漫视频在线观看 | 国产成人免费 |