久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2546|回復: 8
打印 上一主題 下一主題
收起左側

51單片機與PC串口通信 跪求大神指點

[復制鏈接]
跳轉到指定樓層
樓主
ID:241675 發表于 2018-2-6 21:26 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
C語言編程:PC將很多數據(這些數據的內存大小 大于51單片機內存,例如一張處理后的彩色圖片數據)發送給單片機,51單片機再將這些數據用P2^0腳(一個IO口)發給后續的電路編程。跪求大神指點
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:273292 發表于 2018-2-7 08:44 | 只看該作者
就是一個串口發送和接受的程序唄,只要準備好數據就行啊
回復

使用道具 舉報

板凳
ID:241675 發表于 2018-2-7 18:15 | 只看該作者
xdl932365660 發表于 2018-2-7 08:44
就是一個串口發送和接受的程序唄,只要準備好數據就行啊

數據由上位機處理圖片后的數據;
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit P2_0=P2^0;
#define TXD P2_0
uchar output;
void UART_Init()  //串口初始化
{
        TMOD=0x22;
        SCON=0x50;
        PCON=0x00;
        TL1=TH1=0xfd;
  TL0=TH0=0xA0;
  TF0=0;       
        EA=1;
        TR1=1;
}

void Rec_data()//接收數據
{
        while(!RI);
        RI=0;
        output=SBUF;
}

void waitTF0()
{
        while(!TF0);
        TF0=0;
}

void sent_data()//發送數據
{
        uint j=8;
        TR0=1;
        while(j--)
        {
                TXD=(bit)(output&0x01);
    waitTF0();               
                output=output>>1;
        }
        TR0=0;
}
void main()  
{
        UART_Init();
        while(1)
        {
                Rec_data();
    sent_data();
        }
}

這是我寫的,不過有錯,串口輸進去的數據和由P2^0口出來的數據不一樣,而且這樣可能誤碼率很大。
回復

使用道具 舉報

地板
ID:282980 發表于 2018-2-8 01:07 | 只看該作者
串口編程。二進制
回復

使用道具 舉報

5#
ID:282439 發表于 2018-2-8 08:20 | 只看該作者
Rec_data()如果與 sent_data()的速度不一致,那就有問題了。
回復

使用道具 舉報

6#
ID:282743 發表于 2018-2-8 08:49 | 只看該作者
你單純用定時來做IO口傳輸,肯定不行的,接收端都不知道從哪里開始是數據。可以模仿spi接口,加一根片選信號,再加一根線做時鐘。
回復

使用道具 舉報

7#
ID:241675 發表于 2018-2-8 16:57 | 只看該作者
arthuryu 發表于 2018-2-8 08:20
Rec_data()如果與 sent_data()的速度不一致,那就有問題了。

如果Rec_data()和sent_data()速度配置成一樣,那問題來了,如果我把數據全部接收完再一一發送出去,單片機內存不夠;如果接一個數據立馬就發送出去,那將會造成百分之四五十的誤碼率。學習編程時間不長,思想還不夠開闊,望您指點一下。
回復

使用道具 舉報

8#
ID:241675 發表于 2018-2-8 17:00 | 只看該作者
Hoperliu 發表于 2018-2-8 01:07
串口編程。二進制

您能不能具體點,編程時間還不長,思路還沒那么開闊。感謝感謝
回復

使用道具 舉報

9#
ID:241675 發表于 2018-2-10 09:40 | 只看該作者
天天漲停 發表于 2018-2-8 08:49
你單純用定時來做IO口傳輸,肯定不行的,接收端都不知道從哪里開始是數據。可以模仿spi接口,加一根片選信 ...

51單片機信號輸出后接的使4066BD信號(調制用的),該芯片只需要接一根輸入信號,SPI接口需要4根線,其3根都接不上
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 美国av片在线观看 | 久久久久成人精品 | 久久国产高清 | 国产视频一区二区在线观看 | 成人精品一区二区三区 | 中文字幕动漫成人 | 国产特一级黄色片 | 国产欧美一区二区三区在线看 | 欧美福利在线 | 亚洲乱码一区二区三区在线观看 | 亚洲成人99 | 亚洲欧美日韩一区二区 | 欧美亚洲视频 | 欧美福利网站 | 国产精品视频一 | 国产精品久久久久久久久久不蜜臀 | 99视频在线免费观看 | 久久久久久亚洲精品不卡 | www.国产日本 | 日本一区二区视频 | 九色网址| 91精品国产欧美一区二区 | 精品久久久久久久久久久久 | 999热视频 | 国产精品美女在线观看 | aaa大片免费观看 | 久久久这里都是精品 | 欧美精品乱码久久久久久按摩 | 成人免费高清 | av免费在线播放 | 国产探花在线精品一区二区 | 国产亚洲精品一区二区三区 | 亚洲国产精品第一区二区 | 欧美一级黑人aaaaaaa做受 | 亚洲精品国产电影 | 国产第一亚洲 | 成人三级av | 日韩一区三区 | 国产在线视频一区 | 欧美激情一区二区 | 日韩欧美中文字幕在线观看 |