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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2606|回復(fù): 16
收起左側(cè)

51單片機(jī)串口如何接受7位數(shù)的數(shù)據(jù)(10進(jìn)制)

  [復(fù)制鏈接]
ID:149043 發(fā)表于 2023-5-23 16:50 來自手機(jī) | 顯示全部樓層 |閱讀模式
麻煩大佬給個程序參考下
回復(fù)

使用道具 舉報

ID:161164 發(fā)表于 2023-5-23 17:04 | 顯示全部樓層
1. 用聯(lián)合體
2. 用字符串
回復(fù)

使用道具 舉報

ID:94031 發(fā)表于 2023-5-23 17:07 | 顯示全部樓層
雙方定義收發(fā)浮點(diǎn)數(shù),串口4個字節(jié)就可實(shí)現(xiàn)7位10進(jìn)制數(shù)收發(fā)。
回復(fù)

使用道具 舉報

ID:744809 發(fā)表于 2023-5-23 17:19 | 顯示全部樓層
3個字節(jié)就可以了,比如1234567,你放到一個unsigned long的變量中,將右邊24位分別放入一個3字節(jié)的buf中,buf[0] = temp_long >> 16;buf[1] = temp_long >> 8; buf[2] = temp_long & 0xFF;
然后發(fā)送這個數(shù)組就好了。接收到數(shù)據(jù)后通過左移操作還原成unsigned long變量即可
回復(fù)

使用道具 舉報

ID:824490 發(fā)表于 2023-5-23 17:22 | 顯示全部樓層
串口收發(fā)的都是數(shù)據(jù),都是“16進(jìn)制”,“10進(jìn)制'也是當(dāng)成"16進(jìn)制"來收發(fā),其實(shí)對串口來說都是2進(jìn)制,根本沒有x進(jìn)制這個說法,有的只是后數(shù)據(jù)的處理才出現(xiàn)什么10進(jìn)制之類的
回復(fù)

使用道具 舉報

ID:824490 發(fā)表于 2023-5-23 17:25 | 顯示全部樓層
卡住你的不是什么10進(jìn)制,而是7位數(shù)。你可以開個緩存(7字節(jié)),收到第一個字節(jié)存入緩存第一個地址中,,,第7個存入7中。。。
回復(fù)

使用道具 舉報

ID:65956 發(fā)表于 2023-5-24 08:28 | 顯示全部樓層
把接收到的數(shù)據(jù)屏蔽最高位(&07F),這樣不就是把8位當(dāng)7位接收了,不過這種在51單片機(jī)中是不得以的方法,在高級單片機(jī)就能設(shè)置相應(yīng)的接收位數(shù)
回復(fù)

使用道具 舉報

ID:213173 發(fā)表于 2023-5-24 09:52 | 顯示全部樓層
樓主語焉不詳,地板回復(fù)應(yīng)該是樓主想要的,但樓主未必能看明白。
回復(fù)

使用道具 舉報

ID:123289 發(fā)表于 2023-5-24 10:40 | 顯示全部樓層
串口總是按字節(jié)一個一個的接收二進(jìn)制數(shù),它可不管什么這個數(shù)那個數(shù)的花花定義。
至于7位數(shù)據(jù)什么的,關(guān)鍵在于你如何將這個7位數(shù)據(jù),按字節(jié)拆分(發(fā)送時)、組合(接收時,復(fù)原)。
回復(fù)

使用道具 舉報

ID:526543 發(fā)表于 2023-5-24 12:31 | 顯示全部樓層
#include <reg52.h>

#define uchar unsigned char
#define uint unsigned int

sbit RX = P3^0;   // 串口接收引腳

uchar receivedData = 0;  // 存儲接收到的數(shù)據(jù)

// 串口初始化函數(shù)
void InitUART() {
    TMOD = 0x20;    // 設(shè)置定時器1為模式2(8位自動重裝)
    SCON = 0x50;    // 設(shè)置串口工作在模式1(8位數(shù)據(jù),可變波特率)
    TH1 = 0xFD;     // 設(shè)置波特率為9600,晶振頻率11.0592MHz
    TR1 = 1;        // 啟動定時器1
}

// 串口接收中斷處理函數(shù)
void UART_ISR() interrupt 4 {
    if (RI) {  // 接收到數(shù)據(jù)
        RI = 0;  // 清除接收中斷標(biāo)志

        // 獲取接收到的數(shù)據(jù)
        uchar data = SBUF;

        // 忽略最高位的數(shù)據(jù)位(第8位)
        receivedData = data & 0x7F;
    }
}

// 延時函數(shù)
void Delay(uint del) {
    uint i, j;
    for (i = 0; i < del; i++) {
        for (j = 0; j < 1827; j++) {
            // 空循環(huán)
        }
    }
}

void main() {
    InitUART();  // 初始化串口

    // 啟用全局中斷
    EA = 1;
    // 啟用串口接收中斷
    ES = 1;

    while (1) {
        // 在這里可以使用 receivedData 變量進(jìn)行處理,比如打印到LCD等
        // 這里只是簡單的延時示例,可根據(jù)需要修改
        Delay(100);
    }
}
回復(fù)

使用道具 舉報

ID:149043 發(fā)表于 2023-5-25 09:00 來自手機(jī) | 顯示全部樓層
123456ZXC1 發(fā)表于 2023-5-24 12:31
#include

#define uchar unsigned char

這個是7位數(shù)啊
,怎么能uchar
回復(fù)

使用道具 舉報

ID:149043 發(fā)表于 2024-6-6 11:40 來自手機(jī) | 顯示全部樓層
wulin 發(fā)表于 2023-5-24 09:52
樓主語焉不詳,地板回復(fù)應(yīng)該是樓主想要的,但樓主未必能看明白。

努力看明白
回復(fù)

使用道具 舉報

ID:149043 發(fā)表于 2024-6-6 16:37 來自手機(jī) | 顯示全部樓層
123156fsadf 發(fā)表于 2023-5-23 17:19
3個字節(jié)就可以了,比如1234567,你放到一個unsigned long的變量中,將右邊24位分別放入一個3字節(jié)的buf中,b ...

數(shù)據(jù)收到了,接收到的數(shù)據(jù)是應(yīng)該相加還是怎么做,前兩位數(shù)據(jù)都是00H ,后兩位數(shù)據(jù)如下圖
image.jpg
image.jpg
回復(fù)

使用道具 舉報

ID:619259 發(fā)表于 2024-6-6 20:23 | 顯示全部樓層
用數(shù)組,多少位都可以
回復(fù)

使用道具 舉報

ID:69038 發(fā)表于 2024-6-6 20:55 | 顯示全部樓層
是7位數(shù),還是7bit?兩者是不同概念的。
前者開一個緩存,依次接收趣入即可,后者自定義數(shù)據(jù)類型,按需要處理后再存入。
回復(fù)

使用道具 舉報

ID:149043 發(fā)表于 2024-6-7 08:56 來自手機(jī) | 顯示全部樓層
格式化無悔 發(fā)表于 2024-6-6 16:37
數(shù)據(jù)收到了,接收到的數(shù)據(jù)是應(yīng)該相加還是怎么做,前兩位數(shù)據(jù)都是00H ,后兩位數(shù)據(jù)如下圖

我現(xiàn)在數(shù)據(jù)接收到了(4個字節(jié)),一個字節(jié)一個字節(jié)的收到的,但是不知道怎么組合起來,是應(yīng)該相加還是怎么辦,怎么把這四個字節(jié)的數(shù)據(jù)組合成10進(jìn)制的數(shù)
回復(fù)

使用道具 舉報

ID:149043 發(fā)表于 2024-6-7 09:15 來自手機(jī) | 顯示全部樓層
123156fsadf 發(fā)表于 2023-5-23 17:19
3個字節(jié)就可以了,比如1234567,你放到一個unsigned long的變量中,將右邊24位分別放入一個3字節(jié)的buf中,b ...

謝謝大佬,已解決
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩www | 天天看天天爽 | 中文字幕11页 | 婷婷福利视频导航 | 亚洲欧美综合精品另类天天更新 | 午夜影院视频在线观看 | 七七婷婷婷婷精品国产 | 日韩中文字幕在线观看 | 久久久久久国产精品 | 精品日韩一区 | 欧美日韩中文字幕在线 | 天堂中文在线播放 | 亚洲一区 中文字幕 | 狠狠夜夜| 国产一级毛片视频 | 精品自拍视频 | 日韩欧美视频免费在线观看 | 国产影音先锋 | 日日夜夜狠狠操 | 日韩成人中文字幕 | 免费久久精品视频 | 日日摸天天添天天添破 | 黄色网址在线免费播放 | 一级黄色生活视频 | 激情婷婷| 国产成人综合网 | 日本小电影网站 | 亚洲第一成年免费网站 | 噜久寡妇噜噜久久寡妇 | 天天草天天爱 | 免费视频99| 国产成人综合亚洲欧美94在线 | 国产日韩欧美 | 国产超碰人人爽人人做人人爱 | 欧美日韩综合精品 | 奇米久久 | 黄色大片毛片 | 欧美午夜一区二区三区免费大片 | 神马久久av | 丁香婷婷成人 | 91精品国产综合久久精品图片 |