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

【物聯(lián)網(wǎng)】stm32標準庫開發(fā)常用函數(shù)的使用和代碼說明

這篇具有很好參考價值的文章主要介紹了【物聯(lián)網(wǎng)】stm32標準庫開發(fā)常用函數(shù)的使用和代碼說明。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

GPIO(General Purpose Input/Output)

用于控制端口的讀寫操作。

  1. GPIO_Init:初始化GPIO端口。

    GPIO_InitTypeDef GPIO_InitStructure;
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; // 配置端口Pin號
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; // 配置輸出推挽模式
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; // 配置輸出速度
    GPIO_Init(GPIOA, &GPIO_InitStructure); // 初始化GPIOA端口
    
  2. GPIO_WritePin、GPIO_ReadPin:寫入或讀取指定GPIO引腳的狀態(tài)。

    GPIO_WritePin(GPIOA, GPIO_Pin_0, GPIO_PIN_SET); // 將GPIOA的Pin_0引腳狀態(tài)設(shè)置為高
    uint8_t pin_state = GPIO_ReadPin(GPIOA, GPIO_Pin_0); // 讀取GPIOA的Pin_0引腳狀態(tài)
    
  3. GPIO_SetPin:設(shè)置指定GPIO引腳的狀態(tài)為高電平。

    GPIO_SetPin(GPIOA, GPIO_Pin_0); // 將GPIOA的Pin_0引腳狀態(tài)設(shè)置為高電平
    
  4. GPIO_ResetPin:將指定GPIO引腳的狀態(tài)復(fù)位為低電平。

    GPIO_ResetPin(GPIOA, GPIO_Pin_0); // 將GPIOA的Pin_0引腳狀態(tài)復(fù)位為低電平
    

NVIC(Nested Vectored Interrupt Controller)

用于管理中斷相關(guān)操作。

  1. NVIC_EnableIRQ:使能指定的中斷。

    NVIC_EnableIRQ(USART1_IRQn); // 使能USART1中斷
    
  2. NVIC_DisableIRQ:禁用指定的中斷。

    NVIC_DisableIRQ(USART1_IRQn); // 禁用USART1中斷
    
  3. NVIC_SetPriority:設(shè)置指定中斷的優(yōu)先級。

    NVIC_SetPriority(USART1_IRQn, 2); // 設(shè)置USART1中斷的優(yōu)先級為2
    

DMA(Direct Memory Access)

用于實現(xiàn)高速數(shù)據(jù)傳輸,減輕CPU負荷。

  1. DMA_Init:初始化DMA通道。
    DMA_InitTypeDef DMA_InitStructure;
    DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)&USART1->DR; // 外設(shè)基地址
    DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)&data; // 存儲器基地址
    DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralDST; // 方向為從外設(shè)到存儲器
    DMA_InitStructure.DMA_BufferSize = sizeof(data); // 數(shù)據(jù)大小
    DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; // 禁止外設(shè)地址增量
    DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; // 使能存儲器地址增量
    DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte; // 外設(shè)數(shù)據(jù)寬度為字節(jié)
    DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte; // 存儲器數(shù)據(jù)寬度為字節(jié)
    DMA_InitStructure.DMA_Mode = DMA_Mode_Normal; // 正常模式
    DMA_InitStructure.DMA_Priority = DMA_Priority_High; // 高優(yōu)先級
    DMA_InitStructure.DMA_M2M = DMA_M2M_Disable; // 禁止存儲器到存儲器傳輸
    DMA_Init(DMA1_Channel4, &DMA_InitStructure); // 初始化DMA通道
    
  2. DMA_Start:啟動DMA傳輸。
    DMA_Start(DMA1_Channel4); // 啟動DMA1的通道4傳輸
    
  3. DMA_Stop:停止DMA傳輸。
    DMA_Stop(DMA1_Channel4); // 停止DMA1的通道4傳輸
    

USART(Universal Synchronous/Asynchronous Receiver/Transmitter)

用于串口通信。

  1. USART_Init:初始化串口。
USART_InitTypeDef USART_InitStructure;
USART_InitStructure.USART_BaudRate = 115200; // 波特率為115200
USART_InitStructure.USART_WordLength = USART_WordLength_8b; // 數(shù)據(jù)位長度為8位
USART_InitStructure.USART_StopBits = USART_StopBits_1; // 停止位為1位
USART_InitStructure.USART_Parity = USART_Parity_No; // 無奇偶校驗位
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; // 支持接收和發(fā)送模式
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; // 無硬件流控制
USART_Init(USART1, &USART_InitStructure); // 初始化USART1
  1. USART_SendData:向串口發(fā)送數(shù)據(jù)。
USART_SendData(USART1, data); // 向USART1串口發(fā)送數(shù)據(jù)
  1. USART_ReceiveData:從串口接收數(shù)據(jù)。
data = USART_ReceiveData(USART1); // 從USART1串口接收數(shù)據(jù)
  1. USART_ITConfig:配置串口中斷。
USART_ITConfig(USART1, USART_IT_RXNE, ENABLE); // 配置USART1的接收中斷使能

TIM(Timer)

用于定時器功能。

  1. TIM_TimeBaseInit:初始化定時器。
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_TimeBaseStructure.TIM_Prescaler = 7200; // 預(yù)分頻系數(shù)
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; // 計數(shù)模式為向上計數(shù)
TIM_TimeBaseStructure.TIM_Period = 1000; // 自動重裝載值
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; // 時鐘分頻因子
TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); // 初始化TIM2定時器
  1. TIM_Cmd:啟動或停止定時器計數(shù)。
TIM_Cmd(TIM1, ENABLE); // 啟動TIM1計數(shù)
TIM_Cmd(TIM2, DISABLE); // 停止TIM2計數(shù)
  1. TIM_GetCounter:獲取定時器的當前計數(shù)值。
uint16_t counter = TIM_GetCounter(TIM3); // 獲取TIM3的當前計數(shù)值

EXTI(External Interrupt)

外部中斷,用于響應(yīng)外部事件觸發(fā)的中斷。文章來源地址http://www.zghlxwxcb.cn/news/detail-622628.html

  1. EXTI_Init:初始化外部中斷線路。
EXTI_InitTypeDef EXTI_InitStruct;
EXTI_InitStruct.Line = EXTI_Line0;                // 外部中斷線路號
EXTI_InitStruct.Mode = EXTI_Mode_Interrupt;       // 中斷模式
EXTI_InitStruct.Trigger = EXTI_Trigger_Rising;     // 觸發(fā)方式
EXTI_InitStruct.GPIOSource = GPIO_PortSourceGPIOA; // GPIO端口源
EXTI_InitStruct.GPIO_PinSource = GPIO_PinSource0;  // GPIO引腳源
EXTI_Init(&EXTI_InitStruct);
  1. EXTI_ClearFlag:清除外部中斷標志位。
EXTI_ClearFlag(EXTI_Line0);
  1. EXTI_GetITStatus:獲取外部中斷狀態(tài)。
if (EXTI_GetITStatus(EXTI_Line0) != RESET)
{
    // 外部中斷事件已發(fā)生
}

到了這里,關(guān)于【物聯(lián)網(wǎng)】stm32標準庫開發(fā)常用函數(shù)的使用和代碼說明的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • STM32F103ZET6【標準庫函數(shù)開發(fā)】------04五個串口的詳細配置

    STM32F103ZET6【標準庫函數(shù)開發(fā)】------04五個串口的詳細配置

    正點原子戰(zhàn)艦開發(fā)板 STM32F103ZET6有5個串口,查看引腳圖可以找到對應(yīng)的IO口分別如下 串口 USART1 USART2 USART3 UART4 UART5 輸入/輸出方式 USARTx_TX PA9 PA2 PB10 PC10 PC12 復(fù)用推挽輸出 USARTx_RX PA10 PA3 PB11 PC11 PD2 浮空輸入 USART1掛在APB2下 USART2,USART3,USART4,USART5掛在APB1下 串口調(diào)試助手設(shè)置波特率

    2024年02月03日
    瀏覽(24)
  • 嵌入式物聯(lián)網(wǎng)STM32實戰(zhàn)開發(fā)代碼例程庫

    幾百個例程清單,CSDN下載地址: https://download.csdn.net/download/weixin_39804904/88671879 開發(fā)例程清單(持續(xù)新增中,歡迎點贊關(guān)注): 0001基于STM32F103單片機GPIO實現(xiàn)控制LED燈閃爍的程序代碼0001.rar 0002基于STM32F103單片機GPIO實現(xiàn)按鍵KEY的檢測程序代碼0002.rar 0003基于STM32F103單片機GPIO實現(xiàn)

    2024年02月02日
    瀏覽(94)
  • STM32 標準庫+ESP8266+華為云物聯(lián)網(wǎng)平臺

    STM32 標準庫+ESP8266+華為云物聯(lián)網(wǎng)平臺

    文章內(nèi)容: ??? STM32標準庫通過串口發(fā)送AT指令完成與ESP8266的控制實現(xiàn)接入華為云物聯(lián)網(wǎng)平臺,并完成基本通信與控制,包括設(shè)備屬性上報和命令下發(fā)解析與響應(yīng),并將相關(guān)代碼打包成HuaweiIOT_at_esp8266.c和HuaweiIOT_at_esp8266.h驅(qū)動文件。 一、華為云物聯(lián)網(wǎng)平臺 創(chuàng)建 產(chǎn)品與設(shè)備

    2024年02月12日
    瀏覽(29)
  • STM32F103C8T6+2.4寸SPI TFT觸摸屏代碼+標準庫 項目開發(fā)

    STM32F103C8T6+2.4寸SPI TFT觸摸屏代碼+標準庫 項目開發(fā)

    目錄 模塊清單: 模塊介紹: 1:STM32F103C8T6 2:2.4寸SPI TFT觸摸屏 項目結(jié)果展示 2.4寸 TFT SPI顯示觸摸屏 2.4寸 SPI TFT 顯示觸摸屏代碼下載鏈接: https://download.csdn.net/download/weixin_49492286/88458377 清單 STM32F103C8T6 2.4寸SPI TFT觸摸屏 ????????STM32F103C8T6是意法半導(dǎo)體(STMicroelectronics)推

    2024年02月07日
    瀏覽(88)
  • 【十年開發(fā)積累】STM32產(chǎn)品開發(fā)代碼案例合集,嵌入式物聯(lián)網(wǎng)工程師珍貴資料(物聯(lián)技術(shù)666)

    簡介 ??? 例程涵蓋:STM32各類功能配置,外圍傳感器初始化,模塊初始化,物聯(lián)網(wǎng)協(xié)議,操作系統(tǒng)移植,功能開發(fā),產(chǎn)品案例等等,十分具有參考價值。 0001基于STM32F103單片機GPIO實現(xiàn)控制LED燈閃爍的程序代碼0001.rar 0002基于STM32F103單片機GPIO實現(xiàn)按鍵KEY的檢測程序代碼0002.rar

    2024年02月21日
    瀏覽(36)
  • STM32(二):按鍵 (標準庫函數(shù))

    STM32(二):按鍵 (標準庫函數(shù))

    前言 上一篇文章已經(jīng)介紹了如何實現(xiàn)流水燈,實現(xiàn)了點燈的第一步。這一篇則介紹按鍵控制點燈的實現(xiàn)過程。 按鍵的初始化與LED燈初始化不同,LED是推挽輸出,而按鍵則是輸入。而輸入也分兩種:上拉輸入和下拉輸入。若是按鍵為共陰極,則按鍵按下時,IO口輸入為低電平,

    2024年04月29日
    瀏覽(15)
  • STM32 外部中斷 標準庫函數(shù)

    STM32 外部中斷 標準庫函數(shù)

    中斷對于單片機來說是必不可少的存在。例如使用一個按鍵打開一個燈的方法,就可以使用 中斷 的方式實現(xiàn),并且效果更好。 中斷的概念比較容易理解,就相當于做飯的時候,你的主任務(wù)是炒菜,炒菜炒到一半,來了個電話你就需要優(yōu)先去接電話,然后電話處理完后才會繼

    2024年01月16日
    瀏覽(19)
  • STM32(三):外部中斷 (標準庫函數(shù))

    STM32(三):外部中斷 (標準庫函數(shù))

    前言 上一篇文章已經(jīng)介紹了如何用按鍵點燈,使用的是按鍵掃描的方式,實現(xiàn)了點燈的第二步。這一篇則介紹如何用外部中斷的方式實現(xiàn)按鍵點燈的過程。 中斷想必大家都知道,通俗來說也就是你現(xiàn)在在做事情1,被打擾了先去做了事情2,事情2做完了回去繼續(xù)做事情1。 而

    2024年04月25日
    瀏覽(18)
  • STM32(一):流水燈 (標準庫函數(shù))

    STM32(一):流水燈 (標準庫函數(shù))

    STM32F103VET6是一款由意法半導(dǎo)體公司(ST)推出的基于Cortex-M3內(nèi)核的32位微控制器,硬件采用LQFP48封裝,屬于ST公司微控制器中的STM32系列。 1.1 簡要說明: 該款芯片 為 100引腳 , 512KFlash 64kSRAM LQFP 封裝 32位 Cortex內(nèi)核 內(nèi)核 Cortex-M3 Flash 512K×8bit SRAM 64K×8bit GPIO 80個 ADC 12位 ADC 三路

    2024年04月10日
    瀏覽(22)
  • F12-開發(fā)者工具常用操作與使用說明之源代碼sources

    F12-開發(fā)者工具常用操作與使用說明之源代碼sources

    我們先來一個小示例給大家看一下: 大家能看出來上面的代碼為什么輸出的是17嗎?按照正常的輸出應(yīng)該是7才對呀!如果你對此有疑惑,說明你在平時調(diào)試代碼的時候已經(jīng)浪費了很多時間了哦。 今天就帶大家來探索一下開發(fā)者工具中源代碼的使用,這里提供了非常方便并且

    2024年02月09日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包