国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

stm32——hal庫(kù)學(xué)習(xí)筆記(串口<二>)

這篇具有很好參考價(jià)值的文章主要介紹了stm32——hal庫(kù)學(xué)習(xí)筆記(串口<二>)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

四、HAL庫(kù)外設(shè)初始化MSP回調(diào)機(jī)制(了解)

stm32——hal庫(kù)學(xué)習(xí)筆記(串口<二>),stm32,學(xué)習(xí),筆記

stm32——hal庫(kù)學(xué)習(xí)筆記(串口<二>),stm32,學(xué)習(xí),筆記

五、HAL庫(kù)中斷回調(diào)機(jī)制(了解)

stm32——hal庫(kù)學(xué)習(xí)筆記(串口<二>),stm32,學(xué)習(xí),筆記
stm32——hal庫(kù)學(xué)習(xí)筆記(串口<二>),stm32,學(xué)習(xí),筆記
stm32——hal庫(kù)學(xué)習(xí)筆記(串口<二>),stm32,學(xué)習(xí),筆記

六、USART/UART異步通信配置步驟(掌握)

stm32——hal庫(kù)學(xué)習(xí)筆記(串口<二>),stm32,學(xué)習(xí),筆記

HAL_UART_Init()

stm32——hal庫(kù)學(xué)習(xí)筆記(串口<二>),stm32,學(xué)習(xí),筆記

HAL_UART_MspInit()    //配置GPIO、NVIC、CLOCK等

stm32——hal庫(kù)學(xué)習(xí)筆記(串口<二>),stm32,學(xué)習(xí),筆記

HAL_UART_Receive_IT()

stm32——hal庫(kù)學(xué)習(xí)筆記(串口<二>),stm32,學(xué)習(xí),筆記

HAL_NVIC_SetPriority()HAL_NVIC_EnableIRQ()

stm32——hal庫(kù)學(xué)習(xí)筆記(串口<二>),stm32,學(xué)習(xí),筆記

USARTx_IRQHandler()、 UARTx_IRQHandler()

stm32——hal庫(kù)學(xué)習(xí)筆記(串口<二>),stm32,學(xué)習(xí),筆記

USART_DR, HAL_UART_Transmit()

stm32——hal庫(kù)學(xué)習(xí)筆記(串口<二>),stm32,學(xué)習(xí),筆記
stm32——hal庫(kù)學(xué)習(xí)筆記(串口<二>),stm32,學(xué)習(xí),筆記
stm32——hal庫(kù)學(xué)習(xí)筆記(串口<二>),stm32,學(xué)習(xí),筆記

七、IO引腳復(fù)用功能(掌握)

stm32——hal庫(kù)學(xué)習(xí)筆記(串口<二>),stm32,學(xué)習(xí),筆記
stm32——hal庫(kù)學(xué)習(xí)筆記(串口<二>),stm32,學(xué)習(xí),筆記

八、編程實(shí)戰(zhàn):通過(guò)串口接收或者發(fā)送一個(gè)字符(掌握)

串口X初始化函數(shù)

/* 接收緩沖, 最大USART_REC_LEN個(gè)字節(jié). */
uint8_t g_usart_rx_buf[USART_REC_LEN];

/*  接收狀態(tài)
 *  bit15,      接收完成標(biāo)志
 *  bit14,      接收到0x0d
 *  bit13~0,    接收到的有效字節(jié)數(shù)目
*/
uint16_t g_usart_rx_sta = 0;
uint8_t g_rx_buffer[RXBUFFERSIZE];  /* HAL庫(kù)使用的串口接收緩沖 */
UART_HandleTypeDef g_uart1_handle;  /* UART句柄 */

/**
 * @brief       串口X初始化函數(shù)
 * @param       baudrate: 波特率, 根據(jù)自己需要設(shè)置波特率值
 * @note        注意: 必須設(shè)置正確的時(shí)鐘源, 否則串口波特率就會(huì)設(shè)置異常.
 *              這里的USART的時(shí)鐘源在sys_stm32_clock_init()函數(shù)中已經(jīng)設(shè)置過(guò)了.
 * @retval      無(wú)
 */
void usart_init(uint32_t baudrate)
{
    /*UART 初始化設(shè)置*/
    g_uart1_handle.Instance = USART_UX;                                       /* USART_UX */
    g_uart1_handle.Init.BaudRate = baudrate;                                  /* 波特率 */
    g_uart1_handle.Init.WordLength = UART_WORDLENGTH_8B;                      /* 字長(zhǎng)為8位數(shù)據(jù)格式 */
    g_uart1_handle.Init.StopBits = UART_STOPBITS_1;                           /* 一個(gè)停止位 */
    g_uart1_handle.Init.Parity = UART_PARITY_NONE;                            /* 無(wú)奇偶校驗(yàn)位 */
    g_uart1_handle.Init.HwFlowCtl = UART_HWCONTROL_NONE;                      /* 無(wú)硬件流控 */
    g_uart1_handle.Init.Mode = UART_MODE_TX_RX;                               /* 收發(fā)模式 */
    HAL_UART_Init(&g_uart1_handle);                                           /* HAL_UART_Init()會(huì)使能UART1 */

    /* 該函數(shù)會(huì)開(kāi)啟接收中斷:標(biāo)志位UART_IT_RXNE,并且設(shè)置接收緩沖以及接收緩沖接收最大數(shù)據(jù)量 */
    HAL_UART_Receive_IT(&g_uart1_handle, (uint8_t *)g_rx_buffer, RXBUFFERSIZE); 
}

UART底層初始化函數(shù)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-834981.html


/**
 * @brief       UART底層初始化函數(shù)
 * @param       huart: UART句柄類(lèi)型指針
 * @note        此函數(shù)會(huì)被HAL_UART_Init()調(diào)用
 *              完成時(shí)鐘使能,引腳配置,中斷配置
 * @retval      無(wú)
 */
void HAL_UART_MspInit(UART_HandleTypeDef *huart)
{
    GPIO_InitTypeDef gpio_init_struct;

    if (huart->Instance == USART_UX)                            /* 如果是串口1,進(jìn)行串口1 MSP初始化 */
    {
        USART_TX_GPIO_CLK_ENABLE();                             /* 使能串口TX腳時(shí)鐘 */
        USART_RX_GPIO_CLK_ENABLE();                             /* 使能串口RX腳時(shí)鐘 */
        USART_UX_CLK_ENABLE();                                  /* 使能串口時(shí)鐘 */

        gpio_init_struct.Pin = USART_TX_GPIO_PIN;               /* 串口發(fā)送引腳號(hào) */
        gpio_init_struct.Mode = GPIO_MODE_AF_PP;                /* 復(fù)用推挽輸出 */
        gpio_init_struct.Pull = GPIO_PULLUP;                    /* 上拉 */
        gpio_init_struct.Speed = GPIO_SPEED_FREQ_HIGH;          /* IO速度設(shè)置為高速 */
        HAL_GPIO_Init(USART_TX_GPIO_PORT, &gpio_init_struct);
                
        gpio_init_struct.Pin = USART_RX_GPIO_PIN;               /* 串口RX腳 模式設(shè)置 */
        gpio_init_struct.Mode = GPIO_MODE_AF_INPUT;    
        HAL_GPIO_Init(USART_RX_GPIO_PORT, &gpio_init_struct);   /* 串口RX腳 必須設(shè)置成輸入模式 */
        
#if USART_EN_RX
        HAL_NVIC_EnableIRQ(USART_UX_IRQn);                      /* 使能USART1中斷通道 */
        HAL_NVIC_SetPriority(USART_UX_IRQn, 3, 3);              /* 組2,最低優(yōu)先級(jí):搶占優(yōu)先級(jí)3,子優(yōu)先級(jí)3 */
#endif
    }
}

到了這里,關(guān)于stm32——hal庫(kù)學(xué)習(xí)筆記(串口<二>)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • stm32——hal庫(kù)學(xué)習(xí)筆記(GPIO)

    stm32——hal庫(kù)學(xué)習(xí)筆記(GPIO)

    一、GPIO的八種模式分析(熟悉) GPIO_Mode_IN_FLOATING 浮空輸入 GPIO_Mode_IPU 上拉輸入 GPIO_Mode_IPD 下拉輸入 GPIO_Mode_AIN 模擬輸入 GPIO_Mode_Out_OD 開(kāi)漏輸出 GPIO_Mode_Out_PP 推挽輸出 GPIO_Mode_AF_OD 復(fù)用開(kāi)漏輸出 GPIO_Mode_AF_PP 復(fù)用推挽輸出 應(yīng)用總結(jié) 1、上拉輸入、下拉輸入可以用來(lái)檢測(cè)外部信號(hào)

    2024年02月21日
    瀏覽(23)
  • stm32——hal庫(kù)學(xué)習(xí)筆記(外部中斷)

    stm32——hal庫(kù)學(xué)習(xí)筆記(外部中斷)

    一、什么是中斷?(了解) 打斷CPU執(zhí)行正常的程序,轉(zhuǎn)而處理緊急程序,然后返回原暫停的程序繼續(xù)運(yùn)行,就叫中斷 中斷的作用和意義 中斷的意義:高效處理緊急程序,不會(huì)一直占用CPU資源 STM32 GPIO外部中斷簡(jiǎn)圖 二、NVIC(熟悉) 2.1,NVIC基本概念 2.2,NVIC相關(guān)寄存器介紹

    2024年02月22日
    瀏覽(23)
  • stm32——hal庫(kù)學(xué)習(xí)筆記(DAC)

    stm32——hal庫(kù)學(xué)習(xí)筆記(DAC)

    相關(guān)HAL庫(kù)函數(shù)介紹 關(guān)鍵結(jié)構(gòu)體介紹(F1為例) adc3.c adc3.h dac.c dac.h main.c dac.c dac.h main.c dac3.c dac3.h dac.c dac.h main.c 6.2.1,什么是PWM DAC技術(shù)? 6.2.2,用分段函數(shù)表示PWM波 6.2.3,將PWM波分段函數(shù)進(jìn)行傅里葉級(jí)數(shù)展開(kāi) 6.2.4,PWM DAC的分辨率 6.2.5,8位分辨率下對(duì)RC濾波器的設(shè)計(jì)要求 6.2.6,

    2024年02月22日
    瀏覽(15)
  • stm32——hal庫(kù)學(xué)習(xí)筆記(ADC)

    stm32——hal庫(kù)學(xué)習(xí)筆記(ADC)

    ADC,全稱(chēng):Analog-to-Digital Converter,指模擬/數(shù)字轉(zhuǎn)換器 優(yōu)點(diǎn):轉(zhuǎn)換速度快 缺點(diǎn):成本高、功耗高、分辨率低 優(yōu)點(diǎn):結(jié)構(gòu)簡(jiǎn)單、低功耗 缺點(diǎn):轉(zhuǎn)換速度較慢 特點(diǎn): 分辨率和采樣速度相互矛盾, 分辨率越高,采樣速率越低 ①參考電壓/模擬部分電壓 ②輸入通道 ③轉(zhuǎn)換序列 ④觸

    2024年02月22日
    瀏覽(20)
  • stm32——hal庫(kù)學(xué)習(xí)筆記(IWDG)

    stm32——hal庫(kù)學(xué)習(xí)筆記(IWDG)

    IWDG有什么作用? 鍵寄存器(IWDG_KR) 預(yù)分頻器寄存器 (IWDG_PR) 重裝載寄存器(IWDG_RLR) 狀態(tài)寄存器(IWDG_SR) 寄存器配置操作步驟(了解) IWDG最短最長(zhǎng)超時(shí)時(shí)間(F1) HAL庫(kù)相關(guān)函數(shù)介紹 wdg.c wdg.h main.c

    2024年02月21日
    瀏覽(18)
  • stm32——hal庫(kù)學(xué)習(xí)筆記(WWDG)

    stm32——hal庫(kù)學(xué)習(xí)筆記(WWDG)

    WWDG有什么作用? 控制寄存器 (WWDG_CR) 配置寄存器 (WWDG_CFR) 狀態(tài)寄存器 (WWDG_SR) WWDG最短最長(zhǎng)超時(shí)時(shí)間(F1為例) 相關(guān)HAL庫(kù)函數(shù)介紹 wdg.c wdg.h main.c

    2024年02月22日
    瀏覽(16)
  • stm32——hal庫(kù)學(xué)習(xí)筆記(定時(shí)器)

    stm32——hal庫(kù)學(xué)習(xí)筆記(定時(shí)器)

    使用純軟件(CPU死等)的方式實(shí)現(xiàn)定時(shí)(延時(shí))功能 使用精準(zhǔn)的時(shí)基,通過(guò)硬件的方式,實(shí)現(xiàn)定時(shí)功能 遞增計(jì)數(shù)模式實(shí)例說(shuō)明 中心對(duì)齊模式實(shí)例說(shuō)明 TIM6 和TIM7 控制寄存器 1(TIMx_CR1) TIM6 和TIM7 DMA/中斷使能寄存器(TIMx_DIER) TIM6 和TIM7 狀態(tài)寄存器(TIMx_SR) TIM6 和TIM7 計(jì)數(shù)器(TIMx_CNT)

    2024年02月21日
    瀏覽(30)
  • 【STM32】學(xué)習(xí)筆記(串口通信)

    【STM32】學(xué)習(xí)筆記(串口通信)

    串口是一種應(yīng)用十分廣泛的通訊接口,串口成本低、容易使用、通信線路簡(jiǎn)單,可實(shí)現(xiàn)兩個(gè)設(shè)備的互相通信 單片機(jī)的串口可以使單片機(jī)與單片機(jī)、單片機(jī)與電腦、單片機(jī)與各式各樣的模塊互相通信,極大地?cái)U(kuò)展了單片機(jī)的應(yīng)用范圍,增強(qiáng)了單片機(jī)系統(tǒng)的硬件實(shí)力。 電平標(biāo)準(zhǔn)

    2024年02月10日
    瀏覽(25)
  • STM32學(xué)習(xí)筆記(一):輸出PWM——HAL庫(kù)

    STM32學(xué)習(xí)筆記(一):輸出PWM——HAL庫(kù)

    本篇文章為個(gè)人參考總結(jié)所用,如果錯(cuò)誤還望指出。 涉及的知識(shí): 1、STM32CubeMx的部分使用 2、PWM原理及常用概念 3、用單片機(jī)生成一定頻率的PWM 用到的軟件及單片機(jī): 1、STM32CubeMx 2、IDE: MDK-Keil軟件 3、芯片:STM32F407ZGT6 4、開(kāi)發(fā)板:正點(diǎn)原子探索者 注:不同型號(hào)的單片機(jī)實(shí)現(xiàn)

    2024年02月12日
    瀏覽(23)
  • stm32HAL庫(kù)學(xué)習(xí)筆記----pwm驅(qū)動(dòng)舵機(jī)

    stm32HAL庫(kù)學(xué)習(xí)筆記----pwm驅(qū)動(dòng)舵機(jī)

    目錄 一、目標(biāo) 二、準(zhǔn)備 三、原理 四、cubemx 五、程序 實(shí)現(xiàn)stm32驅(qū)動(dòng)舵機(jī)旋轉(zhuǎn)0°,45°,90°,135°,180°等角度。 stm32f103(c8t6),舵機(jī)(SG90 9g),杜邦線 接線:舵機(jī)紅線-----------5V(mcu) ???????????舵機(jī)棕線-----------GND(mcu) ???????????舵機(jī)黃線-----------PA1(視情況而定

    2023年04月26日
    瀏覽(32)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包