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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1020|回復: 2
收起左側

stm32單片機串口發送16進制數的方法分享含程序

[復制鏈接]
ID:285686 發表于 2025-1-18 08:15 | 顯示全部樓層 |閱讀模式
stm32單片機串口發送16進制數的方法分享含程序;按下按鈕 key0后程序輸出16進制數組。

  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();                     //延時函數初始化         
  34.   NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設置NVIC中斷分組2:2位搶占優先級,2位響應優先級
  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. }
復制代碼


原理圖: 無
仿真: 無
代碼: 代碼.7z (183.89 KB, 下載次數: 0)
回復

使用道具 舉報

ID:285686 發表于 2025-1-18 08:18 | 顯示全部樓層
串口波特率9600,8位,無校驗。程序里面可根據自己需要修改。按鈕使用的是PA8。
回復

使用道具 舉報

ID:285686 發表于 2025-1-24 18:41 | 顯示全部樓層
發現一個問題;發送數組的時候第一個數據會丟失;在發送數據前需要先檢查發送是否為空;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;
        }
}
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日日操夜夜操视频 | 羞羞的视频网站 | 国产丝袜一区二区三区免费视频 | 黄视频网址 | 99精品免费在线观看 | 精品欧美乱码久久久久久1区2区 | 欧美国产日韩在线 | 中文字幕高清视频 | 日韩中文字幕第一页 | 精品国产免费人成在线观看 | 日本成人在线免费视频 | 午夜精品久久久久久久久久久久 | 久久这里只有精品首页 | 亚洲国产精品久久久久 | 91久久精品国产 | 欧美日本韩国一区二区 | 国产一区| 日韩精品久久久久 | 热re99久久精品国产99热 | 欧美日韩在线免费观看 | 三级黄色网址 | 91久久久久久久久久久 | 超碰精品在线观看 | 亚洲精品免费在线 | 国产成人精品一区二 | 国产激情自拍视频 | 国产成人精品一区二区 | 国产做a爱片久久毛片 | 在线播放第一页 | 欧美精品乱码久久久久久按摩 | 欧美群妇大交群中文字幕 | 成人日韩 | 在线视频国产一区 | 曰韩三级| 亚洲精品一区中文字幕 | 精品久久久久一区 | 久久久精品国产 | 欧美黄色大片在线观看 | 六月成人网 | 草草在线观看 | 日韩在线精品视频 |