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

標題: stm32f103串口程序出現亂碼,求大佬們幫忙看看 [打印本頁]

作者: aaaaaa。    時間: 2019-6-16 21:52
標題: stm32f103串口程序出現亂碼,求大佬們幫忙看看
main.c

/**************************************
* 文件名  :main.c
* 描述    :通過串口調試軟件,向板子發送數據,板子接收到數據后,立即回傳給電腦。         
* 實驗平臺:MINI STM32開發板 基于STM32F103C8T6
* 庫版本  :ST3.0.0                                                                                                            

*********************************************************/

#include "stm32f10x.h"
#include "usart1.h"
int main(void)
{  
         
  SystemInit();    //配置系統時鐘為 72M
   
    USART1_Config(); //USART1 配置         

  while (1)
  {     
    UART1Test();
  }
}



usart.c
  1. /***************************************
  2. * 文件名  :usart1.c
  3. * 描述    :配置USART1         
  4. * 實驗平臺:MINI STM32開發板 基于STM32F103C8T6
  5. * 硬件連接:------------------------
  6. *          | PA9  - USART1(Tx)      |
  7. *          | PA10 - USART1(Rx)      |
  8. *           ------------------------
  9. * 庫版本  :ST3.0.0  

  10. **********************************************************************************/

  11. #include "usart1.h"
  12. #include <stdarg.h>


  13. void USART1_Config(void)
  14. {
  15.         GPIO_InitTypeDef GPIO_InitStructure;
  16.         USART_InitTypeDef USART_InitStructure;

  17.         /* 使能 USART1 時鐘*/
  18.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA, ENABLE);

  19.         /* USART1 使用IO端口配置 */   
  20.   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
  21.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //復用推挽輸出
  22.   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  23.   GPIO_Init(GPIOA, &GPIO_InitStructure);   
  24.   
  25.   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
  26.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;        //浮空輸入
  27.   GPIO_Init(GPIOA, &GPIO_InitStructure);   //初始化GPIOA
  28.          
  29.         /* USART1 工作模式配置 */
  30.         USART_InitStructure.USART_BaudRate = 115200;        //波特率設置:115200
  31.         USART_InitStructure.USART_WordLength = USART_WordLength_8b;        //數據位數設置:8位
  32.         USART_InitStructure.USART_StopBits = USART_StopBits_1;         //停止位設置:1位
  33.         USART_InitStructure.USART_Parity = USART_Parity_No ;  //是否奇偶校驗:無
  34.         USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;        //硬件流控制模式設置:沒有使能
  35.         USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;//接收與發送都使能
  36.         USART_Init(USART1, &USART_InitStructure);  //初始化USART1
  37.         USART_Cmd(USART1, ENABLE);// USART1使能
  38. }

  39. /*發送一個字節數據*/
  40. void UART1SendByte(unsigned char SendData)
  41. {           
  42.         USART_SendData(USART1,SendData);
  43.         while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);            
  44. }  

  45. /*接收一個字節數據*/
  46. unsigned char UART1GetByte(unsigned char* GetData)
  47. {              
  48.         if(USART_GetFlagStatus(USART1, USART_FLAG_RXNE) == RESET)
  49.         {  
  50.                 return 0;//沒有收到數據
  51.   }
  52.         *GetData = USART_ReceiveData(USART1);
  53.         return 1;//收到數據
  54. }
  55. /*接收一個數據,馬上返回接收到的這個數據*/
  56. void UART1Test(void)
  57. {
  58.         unsigned char i = 0;
  59.         while(1)
  60.         {   
  61.     while(UART1GetByte(&i))
  62.                 {
  63.                  USART_SendData(USART1,i);
  64.                 }      
  65.         }     
  66. }
復制代碼


360截圖20190616214154267.jpg (78.66 KB, 下載次數: 33)

360截圖20190616214154267.jpg

基本例程-USART收發.7z

141.75 KB, 下載次數: 6


作者: aaaaaa。    時間: 2019-6-17 13:32
求問為什么啊
作者: aaaaaa。    時間: 2019-6-18 21:14
沒人看的嗎




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1