娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

stm32自收發串口通信程序解讀

發布者:gamma14最新更新時間:2024-08-26 來源: cnblogs關鍵字:stm32  通信程序 手機看文章 掃描二維碼
隨時隨地手機看文章

今天學習了串口通信,在正點原子庫函數模板中寫了自收發的程序

void my_usart1_init(void)

{


GPIO_InitTypeDef gpio;  //創建GPIO的初始化結構體

USART_InitTypeDef usart;//創建USART的初始化結構體

NVIC_InitTypeDef nvic;//創建NVIC的初始化結構體


RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//使能GPIOA的時鐘

RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);//使能USART1的時鐘


gpio.GPIO_Mode=GPIO_Mode_AF_PP;//設置復用推挽輸出

gpio.GPIO_Speed=GPIO_Speed_10MHz;//設置輸出頻率

gpio.GPIO_Pin=GPIO_Pin_9;//設置GPIO口為9


GPIO_Init(GPIOA,&gpio);//配置到GPIOA上


gpio.GPIO_Mode=GPIO_Mode_IN_FLOATING;//設置浮空輸入

gpio.GPIO_Speed=GPIO_Speed_10MHz;//設置輸入頻率

gpio.GPIO_Pin=GPIO_Pin_10;//設置輸入引腳為9


GPIO_Init(GPIOA,&gpio);//配置到GPIOA上


usart.USART_BaudRate=115200;//設置波特率

usart.USART_HardwareFlowControl=USART_HardwareFlowControl_None;//硬件流控制,暫且不需要

usart.USART_Mode=USART_Mode_Rx | USART_Mode_Tx;//選擇發送和接收模式

usart.USART_Parity= USART_Parity_No;//設置奇偶校驗位 Even 和 Odd

usart.USART_StopBits=USART_StopBits_1;//停止位為1

usart.USART_WordLength=USART_WordLength_8b;//設置數據位為8


USART_Init(USART1,&usart);//將配置的結構體地址傳給USART1


USART_Cmd(USART1,ENABLE);//使能串口1


USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);//使能中斷

nvic.NVIC_IRQChannel=USART1_IRQn;//選擇中斷的通道為USART1

nvic.NVIC_IRQChannelCmd=ENABLE;//通道使能

nvic.NVIC_IRQChannelPreemptionPriority=1;//搶占優先級

nvic.NVIC_IRQChannelSubPriority=1;//子優先級


NVIC_Init(&nvic);//將配置的結構體地址傳給NVIC來配置

}


void USART1_IRQHandler(void)//中斷函數內容

{


u8 res;//存放接收數據的變量

if(USART_GetITStatus(USART1,USART_IT_RXNE) == 1)

{

res=USART_ReceiveData(USART1);//接收數據函數,讀取USART1的DR寄存器數據,返回數據值給res

USART_SendData(USART1,res);//發送數據函數,通過USART1通道發送res數據出去

}

}


int main(void)

{


 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//中斷分組

 my_usart1_init();//調用USART1

 while(1);

}


關鍵字:stm32  通信程序 引用地址:stm32自收發串口通信程序解讀

上一篇:STM32 GPIO 寄存器的配置
下一篇:基于STM32C8T6的超聲波和Oled開發(寄存器版)

推薦閱讀最新更新時間:2025-04-23 18:00

S3C2440開發板裸機程序系列04—串口通信
1. S3C244串口概述 串口通訊一般要增加電平轉換電路,原因是TTL/CMOS電平與RS232電平不一致: TTL/CMOS電平: CMOS電平: 常用的電平轉換芯片是MAX3232。 S3C2440有3個獨立的異步串口,可以選擇工作在中斷或DMA方式下。每個UART包括一個波特率發生器、發送器、接收器和一個控制單元。 UART有FIFO模式和非FIFO模式。FIFO模式下可以利用64字節的發送/接收緩沖寄存器,非FIFO模式下只使用了發送/接收緩沖寄存器中的1個字節。本篇入門級以非FIFO為例。 2. 串口設置及相關寄存器 串口引腳是GPIO復用的。本篇UART只用3根引腳:TXD
[單片機]
S3C2440開發板裸機<font color='red'>程序</font>系列04—<font color='red'>串口</font><font color='red'>通信</font>
51單片機與上位機串口通信程序設計
51? 單片機 ?與上位機串口通信程序設計? 1.?發送:向總線上發命令? 2.?接收:從總線接收命令,并分析是地址還是數據。? 3.?定時發送:從內存中取數并向主機發送.? 經過調試,以上功能基本實現,目前可以通過上位機對 單片機 進行實時控制。? 程序如下:? //這是一個 單片機 C51串口接收(中斷)和發送例程,可以用來測試51單片機的中斷接收?? ? //和查詢發送,另外我覺得發送沒有必要用中斷,因為程序的開銷是一樣的?? #include ?reg51.h ? #include ?stdio.h ? #include ?string.h ? #define?INBUF_LEN?4?//數據長度? unsigned?ch
[單片機]
STM32 IIC雙機通信—— HAL庫硬件IIC版
  關于IIC的原理這里我就不多說了,網上有很多很好的解析,如果要看我個人對IIC的理解的話, 可以點擊查看 ,這里主要講一下怎樣利用STM32CubeMx實現IIC的通訊,經過個人實踐,感覺HAL庫的硬件IIC要比標準庫的穩定。好了,下面就從STM32CubeMx 配置開始一步步實現IIC通訊。   STM32CubeMx的配置,這里關于新建工程的步驟我就不細說了,如果還不會操作STM32CubeMx 的可以 點擊查看 , 這里主要對IIC的配置進行說明。      了解IIC的都知道,IIC通信有主從機之分,用兩片STM32進行IIC通信當然也不例外,不過使用STM32CubeMx 配置有一個好處,就是不用分別配置主從機,在
[單片機]
<font color='red'>STM32</font> IIC雙機<font color='red'>通信</font>—— HAL庫硬件IIC版
STM32新建匯編工程
學習stm32過程中,發現網上絕大部分的教程都是C語言的教程,當然在所有公司的嵌入式開發過程中也是絕大部分使用的都是C語言,但是也會有一部分需要直接操作內核寄存器的需求,例如RTOS中切換任務的時候,也確實沒有找到有人專門用匯編語言做項目,故而專門用匯編語言實現一些外設的操作,以此來熟練掌握匯編語言,方便后續繼續學習rtos或者深入單片機的內核做一些研究,文章會記錄開發的流程和實現的代碼,有任何問題也請指出,方便一起學習,共同進步 新建匯編工程 第一步點擊工程,新建,由于我的開發板是如下的型號,所以選擇對應的芯片 新建工程 第二步選擇啟動文件,keil官方給芯片提供了啟動文件,按照如下選擇,啟動文件是匯編語言實現的,主要的
[單片機]
stm32零基礎入門,應學習那些知識
首先我們先看看與STM32相關的文檔   我們假定大家已經對STM32的書籍或者文檔有一定的理解。如不理解,請立即閱讀STM32的文檔,以獲取最基本的知識點。   如果你手上擁有ST官方主推的STM32神舟系列的板子,那么光盤都會配好這些文檔,STM32的學習與ARM9的學習有一個很大的區別。ARM9的學習   一般是需要購買書籍的。比如三星的S3C2440,官方的文檔都是英文的,大部分工程師只能去看國內出版的書籍。英文好的同學,請不要以為   你很牛,可以只看英文文檔。畢竟你是中國人,你最熟悉的,理解最好的還是中文。看英文的速度還是比看中文慢一些,我們要的是最短的時   間,而不是追求短時間內記住所有細節。當然,如果是一篇論文,
[單片機]
GD32單片機STM32遠程下載手機程序升級固件下載局域網網頁升級工具
GD32、STM32單片機,是我們最常見的一種MCU。通常我們在使用STM32單片機都會遇到程序在線升級下載的問題。 GD32/STM32單片機的在線下載通常需要以下幾種方式完成: 1、使用ST/GD提供的串口下載工具,本地完成固件的升級下載。 2、自行完成系統BootLoader的編寫,將系統程序分為BootLoader和APP兩個部分,BootLoader完成固件升級。 3、使用STM32/GD固件服務器,完成固件的升級,固件服務器https://simplewifi.taobao.com/ 幾種方式各有優缺點: 使用ST提供的方法進行固件升級,方法簡單,不需要額外的開發。但是,只能本地完成STM32單片機的升級。
[單片機]
GD32單片機<font color='red'>STM32</font>遠程下載手機<font color='red'>程序</font>升級固件下載局域網網頁升級工具
在Mac OSX中開發STM32程序
在Mac OSX下編寫STM32程序: 1、下載stm32的gcc軟件包,參考下面URL: 2、安裝moxa NPORT 5110在虛擬Windows中; 3、安裝ST Flash Loader 軟件; 需要注意的: 1、Mac OSX 需要10.5; 2、NPORT裝完要關機重啟;
[單片機]
淺談STM32最小系統的基本組成
經常使用STM32開發的工程師對于它的開發環境的最小系統是必須要有所了解的,特別是硬件工程師在設計硬件的時候對這個最小系統就要更加的深入了解了,如果最小系統的搭建都有問題,那以后的使用很難避免不出現問題。 話不多說,進入正題說說STM32的最小系統的基本組成! 1、STM32最小系統硬件組成包括哪些? STM32的最小系統的硬件組成主要有:電源電路、復位電路、時鐘電路、調試接口電路、啟動電路。 電源 : 一般是3.3V輸入作為STM32芯片的工作電壓,實際中很多采用LDO將5V轉換為3.3V進行供電,另外電路上還要加多個0.01uf去耦電容對輸入電壓進行濾波,穩定輸入電壓。 復位:STM32中有三種復位方式,分別為:上電復
[單片機]
淺談<font color='red'>STM32</font>最小系統的基本組成
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 六盘水市| 清河县| 阿鲁科尔沁旗| 莆田市| 黑山县| 凤冈县| 安化县| 包头市| 建瓯市| 饶河县| 蒲城县| 沁水县| 太保市| 阜新| 石泉县| 陈巴尔虎旗| 土默特右旗| 油尖旺区| 密云县| 大埔区| 安远县| 晋中市| 新邵县| 双峰县| 嵊州市| 尉犁县| 新宁县| 格尔木市| 张家界市| 塔城市| 岳阳市| 芒康县| 新郑市| 博野县| 安乡县| 临汾市| 兴业县| 搜索| 溆浦县| 冕宁县| 石楼县|