女人荫蒂被添全过程13种图片,亚洲+欧美+在线,欧洲精品无码一区二区三区 ,在厨房拨开内裤进入毛片

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

stm325個串口的配置函數 STM32串口如何發送數據

ss ? 來源:CSDNSumjess、可以吃的魚 ? 作者:CSDNSumjess、可以吃 ? 2021-07-22 15:02 ? 次閱讀

5個串口的配置函數和收發數據函數代碼:

#include “stm32f10x.h”

#include “misc.h”

#include “stm32f10x_gpio.h”

#include “stm32f10x_usart.h”

void USART1_Configuration(void)

{

GPIO_InitTypeDef GPIO_InitStructure;

USART_InitTypeDef USART_InitStructure;

NVIC_InitTypeDef NVIC_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE );

RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE );

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; //USART1 TX;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //復用推挽輸出;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init(GPIOA, &GPIO_InitStructure); //端口A;

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; //USART1 RX;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; //浮空輸入;

GPIO_Init(GPIOA, &GPIO_InitStructure); //端口A;

USART_InitStructure.USART_BaudRate = 9600; //波特率;

USART_InitStructure.USART_WordLength = USART_WordLength_8b; //數據位8位;

USART_InitStructure.USART_StopBits = USART_StopBits_1; //停止位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(USART1, &USART_InitStructure);//配置串口參數;

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設置中斷組,4位搶占優先級,4位響應優先級;

NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn; //中斷號;

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //搶占優先級;

NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //響應優先級;

NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;

NVIC_Init(&NVIC_InitStructure);

USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);

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

}

void USART1_Send_Byte(u8 Data) //發送一個字節;

{

USART_SendData(USART1,Data);

while( USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET );

}

void USART1_Send_String(u8 *Data) //發送字符串;

{

while(*Data)

USART1_Send_Byte(*Data++);

}

void USART1_IRQHandler(void) //中斷處理函數;

{

u8 res;

if(USART_GetITStatus(USART1, USART_IT_RXNE) == SET) //判斷是否發生中斷;

{

USART_ClearFlag(USART1, USART_IT_RXNE); //清除標志位;

res=USART_ReceiveData(USART1); //接收數據;

USART1_Send_Byte(res); //用戶自定義;

}

}

void USART2_Configuration(void)

{

GPIO_InitTypeDef GPIO_InitStructure;

USART_InitTypeDef USART_InitStructure;

NVIC_InitTypeDef NVIC_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE );

RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE );

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; //USART2 TX;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //復用推挽輸出;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init(GPIOA, &GPIO_InitStructure); //端口A;

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3; //USART2 RX;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; //浮空輸入;

GPIO_Init(GPIOA, &GPIO_InitStructure); //端口A;

USART_InitStructure.USART_BaudRate = 9600; //波特率;

USART_InitStructure.USART_WordLength = USART_WordLength_8b; //數據位8位;

USART_InitStructure.USART_StopBits = USART_StopBits_1; //停止位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(USART2, &USART_InitStructure);//配置串口參數;

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設置中斷組,4位搶占優先級,4位響應優先級;

NVIC_InitStructure.NVIC_IRQChannel = USART2_IRQn; //中斷號;

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //搶占優先級;

NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //響應優先級;

NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;

NVIC_Init(&NVIC_InitStructure);

USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);

USART_Cmd(USART2, ENABLE); //使能串口;

}

void USART2_Send_Byte(u8 Data) //發送一個字節;

{

USART_SendData(USART2,Data);

while( USART_GetFlagStatus(USART2, USART_FLAG_TC) == RESET );

}

void USART2_Send_String(u8 *Data) //發送字符串;

{

while(*Data)

USART2_Send_Byte(*Data++);

}

void USART2_IRQHandler(void) //中斷處理函數;

{

u8 res;

if(USART_GetITStatus(USART2, USART_IT_RXNE) == SET) //判斷是否發生中斷;

{

USART_ClearFlag(USART2, USART_IT_RXNE); //清除標志位;

res=USART_ReceiveData(USART2); //接收數據;

USART2_Send_Byte(res); //用戶自定義;

}

}

void USART3_Configuration(void)

{

GPIO_InitTypeDef GPIO_InitStructure;

USART_InitTypeDef USART_InitStructure;

NVIC_InitTypeDef NVIC_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE );

RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3, ENABLE );

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; //USART3 TX;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //復用推挽輸出;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init(GPIOB, &GPIO_InitStructure); //端口B;

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11; //USART3 RX;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; //浮空輸入;

GPIO_Init(GPIOB, &GPIO_InitStructure); //端口B;

USART_InitStructure.USART_BaudRate = 9600; //波特率;

USART_InitStructure.USART_WordLength = USART_WordLength_8b; //數據位8位;

USART_InitStructure.USART_StopBits = USART_StopBits_1; //停止位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(USART3, &USART_InitStructure);//配置串口參數;

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設置中斷組,4位搶占優先級,4位響應優先級;

NVIC_InitStructure.NVIC_IRQChannel = USART3_IRQn; //中斷號;

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //搶占優先級;

NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //響應優先級;

NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;

NVIC_Init(&NVIC_InitStructure);

USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);

USART_Cmd(USART3, ENABLE); //使能串口;

}

void USART3_Send_Byte(u8 Data) //發送一個字節;

{

USART_SendData(USART3,Data);

while( USART_GetFlagStatus(USART3, USART_FLAG_TC) == RESET );

}

void USART3_Send_String(u8 *Data) //發送字符串;

{

while(*Data)

USART3_Send_Byte(*Data++);

}

void USART3_IRQHandler(void) //中斷處理函數;

{

u8 res;

if(USART_GetITStatus(USART3, USART_IT_RXNE) == SET) //判斷是否發生中斷;

{

USART_ClearFlag(USART3, USART_IT_RXNE); //清除標志位;

res=USART_ReceiveData(USART3); //接收數據;

USART3_Send_Byte(res); //用戶自定義;

}

}

void UART4_Configuration(void)

{

GPIO_InitTypeDef GPIO_InitStructure;

USART_InitTypeDef USART_InitStructure;

NVIC_InitTypeDef NVIC_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE );

RCC_APB1PeriphClockCmd(RCC_APB1Periph_UART4, ENABLE );

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; //UART4 TX;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //復用推挽輸出;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init(GPIOC, &GPIO_InitStructure); //端口C;

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11; //UART4 RX;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; //浮空輸入;

GPIO_Init(GPIOC, &GPIO_InitStructure); //端口C;

USART_InitStructure.USART_BaudRate = 9600; //波特率;

USART_InitStructure.USART_WordLength = USART_WordLength_8b; //數據位8位;

USART_InitStructure.USART_StopBits = USART_StopBits_1; //停止位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(UART4, &USART_InitStructure);//配置串口參數;

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設置中斷組,4位搶占優先級,4位響應優先級;

NVIC_InitStructure.NVIC_IRQChannel = UART4_IRQn; //中斷號;

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //搶占優先級;

NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //響應優先級;

NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;

NVIC_Init(&NVIC_InitStructure);

USART_ITConfig(UART4, USART_IT_RXNE, ENABLE);

USART_Cmd(UART4, ENABLE); //使能串口;

}

void UART4_Send_Byte(u8 Data) //發送一個字節;

{

USART_SendData(UART4,Data);

while( USART_GetFlagStatus(UART4, USART_FLAG_TC) == RESET );

}

void UART4_Send_String(u8 *Data) //發送字符串;

{

while(*Data)

UART4_Send_Byte(*Data++);

}

void UART4_IRQHandler(void) //中斷處理函數;

{

u8 res;

if(USART_GetITStatus(UART4, USART_IT_RXNE) == SET) //判斷是否發生中斷;

{

USART_ClearFlag(UART4, USART_IT_RXNE); //清除標志位;

res=USART_ReceiveData(UART4); //接收數據;

UART4_Send_Byte(res); //用戶自定義;

}

}

void UART5_Configuration(void)

{

GPIO_InitTypeDef GPIO_InitStructure;

USART_InitTypeDef USART_InitStructure;

NVIC_InitTypeDef NVIC_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOD, ENABLE );

RCC_APB1PeriphClockCmd(RCC_APB1Periph_UART5, ENABLE );

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12; //UART5 TX;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //復用推挽輸出;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init(GPIOC, &GPIO_InitStructure); //端口C;

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; //UART5 RX;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; //浮空輸入;

GPIO_Init(GPIOD, &GPIO_InitStructure); //端口D;

USART_InitStructure.USART_BaudRate = 9600; //波特率;

USART_InitStructure.USART_WordLength = USART_WordLength_8b; //數據位8位;

USART_InitStructure.USART_StopBits = USART_StopBits_1; //停止位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(UART5, &USART_InitStructure);//配置串口參數;

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設置中斷組,4位搶占優先級,4位響應優先級;

NVIC_InitStructure.NVIC_IRQChannel = UART5_IRQn; //中斷號;

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //搶占優先級;

NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //響應優先級;

NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;

NVIC_Init(&NVIC_InitStructure);

USART_ITConfig(UART5, USART_IT_RXNE, ENABLE);

USART_Cmd(UART5, ENABLE); //使能串口;

}

void UART5_Send_Byte(u8 Data) //發送一個字節;

{

USART_SendData(UART5,Data);

while( USART_GetFlagStatus(UART5, USART_FLAG_TC) == RESET );

}

void UART5_Send_String(u8 *Data) //發送字符串;

{

while(*Data)

UART5_Send_Byte(*Data++);

}

void UART5_IRQHandler(void) //中斷處理函數;

{

u8 res;

if(USART_GetITStatus(UART5, USART_IT_RXNE) == SET) //判斷是否發生中斷;

{

USART_ClearFlag(UART5, USART_IT_RXNE); //清除標志位;

res=USART_ReceiveData(UART5); //接收數據;

UART5_Send_Byte(res); //用戶自定義;

}

STM32串口發送數據

1. 串口發送數據最直接的方式就是標準調用庫函數 。

void Send_data(u8 *s)

{

while(*s!=‘\0’)

{

while(USART_GetFlagStatus(USART1,USART_FLAG_TC )==RESET);

USART_SendData(USART1,*s);

s++;

}

}

2. 直接使用printf函數。

可以吃的魚

整合自:CSDNSumjess、可以吃的魚

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • STM32
    +關注

    關注

    2291

    文章

    11019

    瀏覽量

    363002
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    PL2303串口驅動

    PL2303串口驅動
    發表于 04-09 16:02 ?1次下載

    cp2102串口驅動

    cp2102串口驅動
    發表于 04-09 16:01 ?2次下載

    STM32串口下載軟件(FLYMCU)

    STM32串口下載軟件(FLYMCU),經典版本,親試可用。
    發表于 04-09 15:59 ?2次下載

    STM32G4串口無法發送正確的信息是怎么回事?

    STM32G4串口無法發送正確的信息
    發表于 03-14 07:14

    STM32串口通信,上電和斷電串口助手會返回數是怎么回事?

    STM32串口通信,上電和斷電串口助手會返回數,是為什么呢
    發表于 03-12 07:57

    STM32F427串口接收和發送中斷同時使能,為什么會出現接收中斷丟數的情況?

    STM32F427芯片,針對UART7開啟串口接收緩存區非空中斷RXNE和串口傳輸完成中斷TC. 1.單測試收發都沒有任何問題。 2.將串口與PC機連接,PC端通過
    發表于 03-11 07:05

    使用Labview做一485串口電子秤程序

    232、485串口通訊是最常見的儀器儀表通訊方式之一,本文詳細介紹,用Labview編寫一電子秤的485串口程序.
    發表于 03-06 18:11 ?0次下載

    用Labview寫一電子稱的485串口程序

    關鍵詞:Labview + 串口程序 232、485串口通訊是最常見的儀器儀表通訊方式之一,本文詳細介紹,用Labview編寫一電子秤的485串口程序.
    的頭像 發表于 03-06 09:54 ?588次閱讀
    用Labview寫一<b class='flag-5'>個</b>電子稱的485<b class='flag-5'>串口</b>程序

    STM32CubeMX生成的代碼中串口如何發送數據

    第一節硬件解讀大家的開發板到手之后,可以看見,只有一USB,那個就是串口,開發板A和開發板B共用一
    的頭像 發表于 01-13 21:02 ?1163次閱讀
    <b class='flag-5'>STM32</b>CubeMX生成的代碼中<b class='flag-5'>串口</b>如何<b class='flag-5'>發送</b><b class='flag-5'>數據</b>?

    RS232串口連接方式及注意事項

    交換。 RS-232串口簡介 RS-232標準最初由電子工業聯盟(EIA)在1960年制定,用于定義串行通信的電氣特性、信號定時和數據格式。RS-232串口使用25針的D型連接器(DB-25),但后來更常用的是9針的D型連接器(
    的頭像 發表于 12-10 16:23 ?4373次閱讀

    LS10串口數據庫模塊外擴SD卡功能

    LS10串口數據庫模塊外擴SD卡功能
    的頭像 發表于 11-23 09:42 ?503次閱讀
    LS10<b class='flag-5'>串口</b><b class='flag-5'>數據</b>庫模塊外擴SD卡功能

    快速實現C2000串口程序升級

    電子發燒友網站提供《快速實現C2000串口程序升級.pdf》資料免費下載
    發表于 08-29 10:50 ?2次下載
    快速實現C2000<b class='flag-5'>串口</b>程序升級

    stm32串口燒錄怎么設置

    準備工作 確保您擁有STM32開發板和相應的硬件設備,如USB轉串口模塊。 安裝STM32CubeMX和STM32CubeProgrammer軟件,這些是ST官方提供的工具,用于
    的頭像 發表于 08-22 09:33 ?3164次閱讀

    集特推薦 雙網10串口飛騰FT2000商用臺式電腦主機

    前段時間為大家分享了國產龍芯、海光、飛騰D2000的商務臺式機,它們的共同特點都是單網,1RS232串口。今天就為大家推薦一款雙網、可擴展10
    的頭像 發表于 07-17 16:04 ?956次閱讀
    集特推薦  雙網10<b class='flag-5'>串口</b>飛騰FT2000商用臺式電腦主機

    STM32G030F6用串口中斷函數接收數據發送數據就死機怎么解決?

    讀取串口數據,用的是HAL庫函數HAL_UART_Receive_IT去實現,現在發現只要向串口這邊一發數據就出現死機,
    發表于 07-11 06:44
    主站蜘蛛池模板: 合川市| 开封市| 南岸区| 新泰市| 镇赉县| 湄潭县| 嘉峪关市| 云阳县| 英超| 长海县| 井冈山市| 涪陵区| 德保县| 洛扎县| 宽城| 武乡县| 东乌珠穆沁旗| 南溪县| 叙永县| 深水埗区| 正镶白旗| 延寿县| 黎城县| 香格里拉县| 闻喜县| 高唐县| 六安市| 通化县| 平山县| 乌兰县| 八宿县| 崇义县| 六安市| 会宁县| 磐安县| 望都县| 秦安县| 淄博市| 静乐县| 昆明市| 婺源县|