欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 10823|回復: 10
收起左側

怎么樣通過51單片機串口一次發送4個16進制數據

  [復制鏈接]
ID:200190 發表于 2017-7-20 17:30 | 顯示全部樓層 |閱讀模式
10黑幣
怎么樣通過51單片機串口一次發送4個16進制數據

回復

使用道具 舉報

ID:123289 發表于 2017-7-20 23:38 | 顯示全部樓層
發一個會不會呀?
回復

使用道具 舉報

ID:82765 發表于 2017-7-21 08:34 | 顯示全部樓層
提示: 作者被禁止或刪除 內容自動屏蔽
回復

使用道具 舉報

ID:164602 發表于 2017-7-21 08:44 | 顯示全部樓層
你的意思不是很明確:單片機是上位機,還是下位機?即:單片機發送還是接收?
就按我自己的理解回答你了:我認為是單片機一次性發送四個16進制數據。
我的程序:
#include<reg51.h>

unsigned char code PuZh[] = {0x34,0x2d,0x48,0x65};

unsigned char j;

void UsartConfiguration();
void Delay10ms(unsigned int c);
void Out_Data (unsigned char Data[]);

void main()
{
        UsartConfiguration();
        Delay10ms(100);
        while(1)
        {
                j=sizeof(PuZh);
                Out_Data(PuZh);
                Delay10ms(1000);
        }
}

void UsartConfiguration()
{
        SCON=0X50;
        TMOD=0X20;
        PCON=0X80;
        TH1=0XF3;//波特率是4800的
        TL1=0XF3;
        TR1=1;
}

void Delay10ms(unsigned int c)
{
    unsigned char a, b;
    for (;c>0;c--)
        {
                for (b=38;b>0;b--)
                {
                        for (a=130;a>0;a--);
                }         
        }      
}

void Out_Data (unsigned char Data[])
{
        unsigned char i;
        for (i=0;i<j;i++)//
        {
                SBUF = Data[i];
                while (!TI);
                TI = 0;
        }
}


1.jpg
回復

使用道具 舉報

ID:200190 發表于 2017-7-21 15:44 | 顯示全部樓層
我用的是15單片機,它是作為主機,通過串口給紅外遙控模塊發送6個指令,每一個指令由四個16進制數組成
回復

使用道具 舉報

ID:589913 發表于 2019-10-5 02:53 | 顯示全部樓層
請問你這個16進制指令問題解決了嗎
回復

使用道具 舉報

ID:406699 發表于 2019-10-28 10:08 | 顯示全部樓層
HC6800-ES-V2.0 發表于 2017-7-21 08:44
你的意思不是很明確:單片機是上位機,還是下位機?即:單片機發送還是接收?
就按我自己的理解回答你了: ...

有工程嗎?
回復

使用道具 舉報

ID:275111 發表于 2019-10-30 11:07 | 顯示全部樓層
HC6800-ES-V2.0 發表于 2017-7-21 08:44
你的意思不是很明確:單片機是上位機,還是下位機?即:單片機發送還是接收?
就按我自己的理解回答你了: ...

一直沒明白,看了你的回答才有點明白,串口發送字符和16進制數。
回復

使用道具 舉報

ID:606366 發表于 2019-10-30 16:15 | 顯示全部樓層
不論是幾進制或者是字符串還是別的什么,他只是4個數據,通過串口發送4個數據就可以;

void SEND ( uint8_t  *Date )
{
        uint8_t  i;
        for ( i = 0; i < 4; i++ )
        {                SBUF = *( Date + i );
                while (!TI);
                TI = 0;
        }
}

回復

使用道具 舉報

ID:461428 發表于 2020-11-20 19:54 | 顯示全部樓層
我往串口屏發送命令  也是需要發送HEX格式的數據  我早懵逼了  怎么發送串口屏都沒得反應  困擾我的也是串口發送數據的問題  到底HEX格式和發出命令的數據是啥區別的  百思不得其解  借貴處得個答案  謝謝
回復

使用道具 舉報

ID:461428 發表于 2020-11-20 19:57 | 顯示全部樓層
發送命令AA 52 CC 33 C3 3C勾選串口助手的HEX發送。串口屏能正常相應。但是單片機發送
printf("AA 52 CC 33 C3 3C“)結果串口屏沒反應  我知道我發送的是字符  但是如何發送的是16進制的命令呢
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表