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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1092|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

stm32單片機(jī)串口發(fā)送16進(jìn)制數(shù)的方法分享含程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:285686 發(fā)表于 2025-1-18 08:15 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
stm32單片機(jī)串口發(fā)送16進(jìn)制數(shù)的方法分享含程序;按下按鈕 key0后程序輸出16進(jìn)制數(shù)組。

  1. #include "led.h"
  2. #include "delay.h"
  3. #include "key.h"
  4. #include "sys.h"
  5. #include "usart.h"
  6. #include <stdio.h>


  7. void UART_Send_Hex(uint8_t hex)
  8.                         {
  9.                         int i;
  10.                         char buffer[2];
  11.                         sprintf(buffer,"%02X",hex);
  12.                                 for( i=0;i<2;i++)
  13.                                 {i++;
  14.                 USART_SendData(USART1,buffer[i]);
  15.                 while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==0);
  16.                                 }
  17.                                 
  18.                         }

  19. int main(void)
  20. {        
  21.          
  22.          uint8_t DATA[4]={0xFE,0x00,0x01,0XFF};
  23.          uint8_t hex_data=0XFE;
  24.          uint8_t hex_data1=0x00;
  25.          uint8_t hex_data2=0x01;
  26.          uint8_t hex_data3=0xFF;
  27.          
  28.          
  29.          u8 t=0;
  30.          u16 times=0;
  31.         LED_Init();
  32.         
  33.         delay_init();                     //延時(shí)函數(shù)初始化         
  34.   NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級(jí),2位響應(yīng)優(yōu)先級(jí)
  35.         uart_init(9600);         //串口初始化為115200
  36.          //LED_Init();                             //LED端口初始化
  37.           KEY_Init();          //初始化與按鍵連接的硬件接口

  38.         LED0=0;
  39.         
  40.         
  41.          while(1)
  42.         {
  43.                
  44.                
  45.                 LED0=0;
  46.                
  47.                 delay_us(1000);
  48.                 LED0=0;
  49.                 //KEY_Scan(0);
  50.         //        UART_Send_Hex(hex_data);               
  51.                
  52.                 t=KEY_Scan(0);                //得到鍵值
  53.                 switch(t)
  54.                         
  55.                 {               
  56. case KEY0_PRES:
  57.         

  58. {
  59.          int i;
  60.          delay_us(1000);
  61.          for(i=0;i<4;i++)
  62.          {
  63.           USART1->DR=DATA[i];
  64.    while((USART1->SR&0X40)==0);
  65.                
  66.                 LED0=1;
  67.         }
  68. }

  69.                
  70. }

  71. }
復(fù)制代碼


原理圖: 無(wú)
仿真: 無(wú)
代碼: 代碼.7z (183.89 KB, 下載次數(shù): 0)
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:285686 發(fā)表于 2025-1-18 08:18 | 只看該作者
串口波特率9600,8位,無(wú)校驗(yàn)。程序里面可根據(jù)自己需要修改。按鈕使用的是PA8。
回復(fù)

使用道具 舉報(bào)

無(wú)效樓層,該帖已經(jīng)被刪除
地板
ID:285686 發(fā)表于 2025-1-24 18:41 | 只看該作者
發(fā)現(xiàn)一個(gè)問(wèn)題;發(fā)送數(shù)組的時(shí)候第一個(gè)數(shù)據(jù)會(huì)丟失;在發(fā)送數(shù)據(jù)前需要先檢查發(fā)送是否為空;case KEY0_PRES:
        

{
         int i;
         delay_us(1000);
         for(i=0;i<4;i++)
         {
          USART1->DR=DATA[i];
   while((USART1->SR&0X40)==0);
               
                LED0=1;
        }
}
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表