0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學(xué)習在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區
會(huì )員中心
創(chuàng )作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內不再提示

【CW32飯盒派開(kāi)發(fā)板試用體驗】串口實(shí)驗

華仔的編程隨筆 ? 來(lái)源:華仔的編程隨筆 ? 作者:華仔的編程隨筆 ? 2023-05-29 09:13 ? 次閱讀

串口選擇

示例給出的是串口的,因為今天回老家,帶的杜綁線(xiàn)是公對母的,不能接串口1,所以選擇串口2,即PA2--TX,PA3--RX。

初始化串口

  1. 初始化UART2的時(shí)鐘:__RCC_UART2_CLK_ENABLE();
  2. 初始化GPIOA外設時(shí)鐘:RCC_AHBPeriphClk_Enable( RCC_AHB_PERIPH_GPIOA, ENABLE);
  3. 復用PA2為UART2TX: PA02_AFx_UART2TXD();
  4. 復用PA3為UART2RX:PA03_AFx_UART2RXD();
  5. 初始化PA2為高速輸出模式:
GPIO_InitStructure.Pins = GPIO_PIN_2; //PA2
  GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStructure.Speed = GPIO_SPEED_HIGH;
  GPIO_Init(CW_GPIOA, &GPIO_InitStructure);
  1. 初始化PA3為上拉輸入:
GPIO_InitStructure.Pins = GPIO_PIN_3; //PA3
  GPIO_InitStructure.Mode = GPIO_MODE_INPUT_PULLUP;
  GPIO_Init(CW_GPIOA, &GPIO_InitStructure);
  1. 初始化UART2配置為9600波特率:
USART_InitStructure.USART_BaudRate = 9600;
  USART_InitStructure.USART_Over = USART_Over_16;
  USART_InitStructure.USART_Source = USART_Source_PCLK;
  USART_InitStructure.USART_UclkFreq = 64000000;
  USART_InitStructure.USART_StartBit = USART_StartBit_FE;
  USART_InitStructure.USART_StopBits = USART_StopBits_1;
  USART_InitStructure.USART_Parity = USART_Parity_No ;
  USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
  USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
  USART_Init(CW_UART2, &USART_InitStructure);
  1. 使能中斷輸入
//使能UARTx RC中斷
  USART_ITConfig(CW_UART2, USART_IT_RC, ENABLE);
  //優(yōu)先級,無(wú)優(yōu)先級分組
  NVIC_SetPriority(UART2_IRQn, 0);
  //UARTx中斷使能
  NVIC_EnableIRQ(UART2_IRQn);
  1. 中斷接收函數,主要功能為判斷接收到的第一位是否為0,第二位是否為1,如果總接收長(cháng)度為4位,測翻轉LED4,具體代碼如下:
void UART2_IRQHandler(void)
{
  /* USER CODE BEGIN */
  unsigned char TxRxBuffer;
  if(USART_GetITStatus(CW_UART2, USART_IT_RC) != RESET)
  { 
		USART_ClearITPendingBit(CW_UART2, USART_IT_RC); 
    TxRxBuffer = USART_ReceiveData_8bit(CW_UART2);
			rec[re_count]=TxRxBuffer;
		 if (re_count == 0&&rec[0]==0x00)
			{          
				rev_start=1;
				re_count++;
			}
			else if(rev_start==1)
			{		
				if(re_count==1&&rec[1]!=0x01)
				{
					re_count=0;rev_start=0;
				}
				else if(re_count==4)           //計算總個(gè)數,0-4 
			      {check_flag=1;re_count=0;rev_start=0;}	  //如果對,那么將標志位置1,并清除里面的值從新接收
				else		
				   re_count++;		
			}
  }
  /* USER CODE END */
}

實(shí)現效果,下載后,串口接收到0x00 0x01 0x02 0x03 ,HEX發(fā)送00 01 02 03 可以實(shí)現LED4的翻轉:

image.png

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權轉載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習之用,如有內容侵權或者其他違規問(wèn)題,請聯(lián)系本站處理。 舉報投訴
  • 串口
    +關(guān)注

    關(guān)注

    14

    文章

    1505

    瀏覽量

    74760
  • uart
    +關(guān)注

    關(guān)注

    22

    文章

    1163

    瀏覽量

    100296
  • 開(kāi)發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    4581

    瀏覽量

    94991
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1150

    瀏覽量

    50786
  • CW32
    +關(guān)注

    關(guān)注

    1

    文章

    144

    瀏覽量

    378
  • 武漢芯源
    +關(guān)注

    關(guān)注

    1

    文章

    58

    瀏覽量

    156
收藏 人收藏

    評論

    相關(guān)推薦

    CW32飯盒開(kāi)發(fā)板 測試IO速度

    CW32飯盒開(kāi)發(fā)板的GPIO進(jìn)行速度測試
    的頭像 發(fā)表于 05-26 13:07 ?42.5w次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>飯盒</b>派<b class='flag-5'>開(kāi)發(fā)板</b> 測試IO速度

    CW32飯盒開(kāi)發(fā)板試用體驗】TFT測試

    準備 基于實(shí)驗七TFT彩屏實(shí)驗 工程配置參考上一篇【CW32飯盒開(kāi)發(fā)板
    發(fā)表于 04-28 00:25

    CW32飯盒開(kāi)發(fā)板試用體驗】+機械臂游戲項目(開(kāi)源)(1)開(kāi)箱試驗舵機

    我很高興能得到 CW32飯盒開(kāi)發(fā)板試用體驗機會(huì ),想利用業(yè)余時(shí)間,做個(gè)機械臂游戲項目,用咱們的這個(gè)開(kāi)發(fā)板
    發(fā)表于 04-28 20:10

    CW32飯盒開(kāi)發(fā)板試用體驗】+機械臂游戲項目(開(kāi)源)(4)多加點(diǎn)東西

    接上三篇,繼續本項目開(kāi)發(fā)?!?b class='flag-5'>CW32飯盒開(kāi)發(fā)板試用體驗】+機械臂游戲項目(開(kāi)源)(1)開(kāi)箱試驗
    發(fā)表于 05-08 18:40

    CW32飯盒開(kāi)發(fā)板試用體驗】開(kāi)箱測試

    CW32飯盒開(kāi)發(fā)板試用體驗】+開(kāi)箱測試 硬件資源介紹 CW32
    發(fā)表于 05-13 00:20

    CW32飯盒開(kāi)發(fā)板試用體驗】開(kāi)發(fā)板簡(jiǎn)單介紹及初體驗

    今天開(kāi)箱一款基于CW32F030C8T6的開(kāi)發(fā)板,開(kāi)發(fā)板命名為CW32飯盒。 下面簡(jiǎn)單的對
    發(fā)表于 05-22 10:47

    CW32飯盒開(kāi)發(fā)板試用體驗】開(kāi)發(fā)板簡(jiǎn)單介紹和開(kāi)發(fā)板初體驗

    今天開(kāi)箱一款基于CW32F030C8T6的開(kāi)發(fā)板,開(kāi)發(fā)板命名為CW32飯盒。 下面簡(jiǎn)單的對
    發(fā)表于 05-22 10:56

    CW32飯盒開(kāi)發(fā)板試用體驗】CW32F030C8T6的開(kāi)發(fā)板開(kāi)箱視頻

    今天將收到的CW32F030C8T6的開(kāi)發(fā)板-CW32飯盒開(kāi)發(fā)板做個(gè)開(kāi)箱視頻。
    發(fā)表于 05-22 11:03

    CW32飯盒開(kāi)發(fā)板試用體驗】+機械臂游戲項目(開(kāi)源)(5)加紅外游戲操控機

    接上幾篇: 【CW32飯盒開(kāi)發(fā)板試用體驗】+機械臂游戲項目(開(kāi)源)(1)開(kāi)箱試驗舵機 - 武漢芯源MCU - 電子技術(shù)論壇 - 廣受歡迎的
    發(fā)表于 05-24 22:27

    CW32飯盒開(kāi)發(fā)板試用體驗】開(kāi)箱上電

    昨天收到了CW32飯盒開(kāi)發(fā)板啦,今天來(lái)分享一下。開(kāi)發(fā)板采用透明的塑料盒裝載,大小適中,非常像一次性飯盒
    發(fā)表于 05-27 23:32

    CW32飯盒開(kāi)發(fā)板試用體驗】+開(kāi)箱+軟件

    感謝 發(fā)燒友學(xué)院以及武漢芯源半導體有限公司提供產(chǎn)品## 芯源CW32飯盒開(kāi)發(fā)板。 打開(kāi)快遞封裝的外包裹袋,里面有一個(gè)塑料盒子。打開(kāi)后是CW32
    發(fā)表于 05-29 08:41

    CW32飯盒開(kāi)發(fā)板試用體驗】+初識CW32飯盒開(kāi)發(fā)板

    盼星星,盼月亮,終于收到了CW32飯盒開(kāi)發(fā)板?;叵肫鹉翘齑饛蛥⒓踊顒?dòng)郵件發(fā)出去的那一刻,就在期盼。 以前也了解過(guò)CW32單片機,這是一款非
    發(fā)表于 05-29 15:51

    CW32飯盒開(kāi)發(fā)板試用體驗】1-開(kāi)箱感受

      本次成功申請CW32飯盒開(kāi)發(fā)板試用,十分榮幸,首先感謝電子發(fā)燒友論壇提供的活動(dòng)平臺和試用
    發(fā)表于 06-01 00:26

    CW32飯盒開(kāi)發(fā)板試用體驗】+可愛(ài)的飯盒

    CW32F030評估 如今推出的CW32飯盒,則無(wú)論是包裝還是在開(kāi)發(fā)板的設計上都向前大大地
    發(fā)表于 06-01 13:53

    CW32飯盒開(kāi)發(fā)板溫濕度采集

    CW32飯盒開(kāi)發(fā)板采集溫濕數據并用LCD顯示
    的頭像 發(fā)表于 05-26 19:20 ?1136次閱讀
    <b class='flag-5'>CW32</b><b class='flag-5'>飯盒</b>派<b class='flag-5'>開(kāi)發(fā)板</b>溫濕度采集
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看