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

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

QQ登錄

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

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

STM32F4串口通信學(xué)習(xí)資料(含PPT+例程)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:382624 發(fā)表于 2019-12-31 00:26 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
ppt內(nèi)容預(yù)覽:

STM32F4單片機(jī)源程序如下:
  1. #include "stm32f4xx.h"
  2. //#include "led.h"
  3. //#include "delay.h"
  4. void delay1(int n);
  5. void delay_init(void);
  6. void delay_ms(u16 nms);
  7. void LED_Init(void);
  8. void sysclock_init(void);
  9. void uart_init(void);
  10. void USART1_IRQHandler(void);
  11. // void  Adc_Init(void);
  12. // u16 Get_Adc(u8 ch)   ;
  13. // u16 Get_Adc_Average(u8 ch,u8 times);



  14. int main(void)
  15. {
  16.         
  17. //        u16 adcx;
  18. //        float temp;
  19. //delay_init(168);
  20.         sysclock_init();
  21. LED_Init();
  22. NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//???????????2
  23.         uart_init();        //?????????115200
  24. // Adc_Init();         //???ADC
  25.         while(1){
  26.                 GPIO_SetBits(GPIOC,GPIO_Pin_2);
  27.                         GPIO_ResetBits(GPIOF,GPIO_Pin_7);        
  28.         //        delay_ms(5000000);
  29.                 delay1(5000000);
  30.                         GPIO_ResetBits(GPIOC,GPIO_Pin_2);

  31.                                 GPIO_SetBits(GPIOF,GPIO_Pin_7);
  32.         
  33.          delay1(5000000);
  34.         
  35.                
  36.         //        USART_SendData(USART1,0x55);         //???1????
  37.         //        while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//??????
  38.         
  39.         }

  40. }






  41. void sysclock_init(void)
  42. {
  43. unsigned int HSEStartUpStatus;
  44.         
  45.           /*???RCC ?????????*/
  46. RCC_DeInit();  /*????????( HSE)*/
  47. RCC_HSEConfig(RCC_HSE_ON); //RCC_HSE_ON ?SE ????(ON)/*??HSE ??*/
  48. HSEStartUpStatus = RCC_WaitForHSEStartUp();
  49. if(HSEStartUpStatus == SUCCESS) //SUCCESS :HSE ???????
  50. { /*??AHB ??( HCLK)*/
  51. RCC_HCLKConfig(RCC_SYSCLK_Div1); //RCC_SYSCLK_Div1 ?AHB??= ????
  52. /* ????AHB ??( PCLK2 )*/
  53. RCC_PCLK2Config(RCC_HCLK_Div1); //RCC_HCLK_Div1 ?APB2??=HCLK
  54. /*????AHB ??( PCLK1 )*/
  55. RCC_PCLK1Config(RCC_HCLK_Div2); //RCC_HCLK_Div2 ? APB1??=HCLK/2
  56. /*??FLASH ??????????*/
  57. FLASH_SetLatency(FLASH_Latency_2); //FLASH_Latency_2 2 ????
  58. /*??FLASH ????????*/
  59. //FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); // ???????  /*??PLL ????????*/
  60. //RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);
  61. // PLL ?????= HSE ????; RCC_PLLMul_9 ?PLL ????x 9  /*??PLL */
  62. RCC_PLLCmd(ENABLE);
  63. /*?????RCC ???(PLL ?????)????*/
  64. while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
  65. { }
  66. /*??????( SYSCLK )*/
  67. RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
  68. //RCC_SYSCLKSource_PLLCLK ???PLL ??????   /* PLL ????????????*/
  69. while(RCC_GetSYSCLKSource() != 0x08); //0x08 :PLL ??????


  70.         
  71. }        
  72. }                        


  73. void delay1(int n)
  74. {
  75. while(n--);


  76. }



  77. void delay_ms(u16 nms)
  78. {        int i;
  79.         for(i=0;i<nms;i++);
  80.         
  81. }
  82. //??nus
  83. //nus?????us?.        
  84. //??:nus??,????798915us




  85. void LED_Init(void)
  86.          {
  87. GPIO_InitTypeDef GPIO_InitStructure;
  88.         
  89. RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC,ENABLE);
  90.                   RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF,ENABLE);

  91.         //F9
  92. GPIO_InitStructure.GPIO_Pin=GPIO_Pin_2;
  93. GPIO_InitStructure.GPIO_Mode=GPIO_Mode_OUT;
  94. GPIO_InitStructure.GPIO_OType=GPIO_OType_PP;
  95.         GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP;
  96.         GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
  97.         
  98. GPIO_Init(GPIOC,&GPIO_InitStructure);
  99.         GPIO_SetBits(GPIOC,GPIO_Pin_2);
  100.         
  101.         //F10
  102. GPIO_InitStructure.GPIO_Pin=GPIO_Pin_7;
  103. GPIO_InitStructure.GPIO_Mode=GPIO_Mode_OUT;
  104. GPIO_InitStructure.GPIO_OType=GPIO_OType_PP;
  105.         GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP;
  106.         GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
  107.         
  108. GPIO_Init(GPIOF,&GPIO_InitStructure);        
  109. GPIO_SetBits(GPIOF,GPIO_Pin_7);
  110. }











  111. void uart_init(void){
  112.    //GPIO????
  113.   GPIO_InitTypeDef GPIO_InitStructure;
  114.         USART_InitTypeDef USART_InitStructure;
  115.         NVIC_InitTypeDef NVIC_InitStructure;
  116.         
  117.         RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE); //??GPIOA??
  118.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);//??USART1??

  119.         //??1????????
  120.         GPIO_PinAFConfig(GPIOA,GPIO_PinSource9,GPIO_AF_USART1); //GPIOA9???USART1
  121.         GPIO_PinAFConfig(GPIOA,GPIO_PinSource10,GPIO_AF_USART1); //GPIOA10???USART1
  122.         
  123.         //USART1????
  124.   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10; //GPIOA9?GPIOA10
  125.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;//????
  126.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;        //??50MHz
  127.         GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //??????
  128.         GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; //??
  129.         GPIO_Init(GPIOA,&GPIO_InitStructure); //???PA9,PA10

  130.    //USART1 ?????
  131.         USART_InitStructure.USART_BaudRate = 115200;//?????
  132.         USART_InitStructure.USART_WordLength = USART_WordLength_8b;//???8?????
  133.         USART_InitStructure.USART_StopBits = USART_StopBits_1;//?????
  134.         USART_InitStructure.USART_Parity = USART_Parity_No;//??????
  135.         USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;//????????
  136.         USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;        //????
  137.   USART_Init(USART1, &USART_InitStructure); //?????1
  138.         
  139.   USART_Cmd(USART1, ENABLE);  //????1
  140.         
  141.         //USART_ClearFlag(USART1, USART_FLAG_TC);
  142.         
  143. //#if EN_USART1_RX        
  144.         USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);//??????

  145.         //Usart1 NVIC ??
  146.   NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;//??1????
  147.         NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=3;//?????3
  148.         NVIC_InitStructure.NVIC_IRQChannelSubPriority =3;                //????3
  149.         NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;                        //IRQ????
  150.         NVIC_Init(&NVIC_InitStructure);        //??????????VIC????

  151. //#endif
  152.         
  153. }

  154. void USART1_IRQHandler(void)                        //??1??????
  155. {
  156.         u8 Res;
  157.         u8  tempx=2;
  158.         Res=3;
  159.         tempx+=Res;
  160.         Res=USART_ReceiveData(USART1);
  161.         tempx+=Res;
  162.         
  163.                 USART_SendData(USART1,Res);         //???1????
  164.                 while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//??????
  165. //#if SYSTEM_SUPPORT_OS                 //??SYSTEM_SUPPORT_OS??,?????OS.
  166. //        OSIntEnter();   
  167. //#endif
  168. //        if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)  //????(?????????0x0d 0x0a??)
  169. //        {
  170. //                Res =USART_ReceiveData(USART1);//(USART1->DR);        //????????
  171. //               
  172. //                if((USART_RX_STA&0x8000)==0)//?????
  173. //                {
  174. //                        if(USART_RX_STA&0x4000)//????0x0d
  175. //                        {
  176. //                                if(Res!=0x0a)USART_RX_STA=0;//????,????
  177. //                                else USART_RX_STA|=0x8000;        //?????
  178. //                        }
  179. //                        else //????0X0D
  180. //                        {        
  181. //                                if(Res==0x0d)USART_RX_STA|=0x4000;
  182. //                                else
  183. //                                {
  184. //                                        USART_RX_BUF[USART_RX_STA&0X3FFF]=Res ;
  185. //                                        USART_RX_STA++;
  186. //                                        if(USART_RX_STA>(USART_REC_LEN-1))USART_RX_STA=0;//??????,??????         
  187. //                                }                 
  188. //                        }
  189. //                }                    
  190. //  }
  191. //#if SYSTEM_SUPPORT_OS         //??SYSTEM_SUPPORT_OS??,?????OS.
  192. //        OSIntExit();                                                                                          
  193. //#endif
  194. }
復(fù)制代碼

所有資料51hei提供下載:
串口通訊.7z (7.08 MB, 下載次數(shù): 34)


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 天堂成人国产精品一区 | 午夜视频在线免费观看 | 一级黄色片毛片 | 日韩毛片在线观看 | 三级黄色片在线播放 | 免费观看黄色一级片 | 超碰在线97国产 | 日本一区二区三区四区 | 超碰精品在线观看 | 亚洲自拍偷拍免费视频 | 久久久久久国产精品免费 | 国产精品成人一区二区三区夜夜夜 | 免费a网| 羞羞在线视频 | 成人免费在线视频 | 97成人精品 | 中文字幕精品一区二区三区在线 | 日韩一区二区在线视频 | 国产精品久久久久久久岛一牛影视 | 久久中文视频 | 亚洲欧美精品国产一级在线 | 亚洲iv一区二区三区 | 亚洲国产一区二区三区 | 日韩国产中文字幕 | 精品久久久久久 | 久久综合成人精品亚洲另类欧美 | 国产99久久精品一区二区永久免费 | 一本大道久久a久久精二百 国产成人免费在线 | 黄瓜av| 亚洲一区在线日韩在线深爱 | 日本免费小视频 | 久久精品小短片 | 欧美日韩中文字幕在线 | 自拍偷拍第1页 | 国产精品中文字幕在线 | 99精品欧美一区二区三区综合在线 | 国产精品色 | 国产精品视频一区二区三区四区国 | 国产一卡二卡三卡 | 日本一区二区三区四区 | 米奇成人网 |