資源簡介
實驗用 mini 板的三個串口來演示多機通信,實驗循循漸進地來演示串口的多機通信,力求讓讀者能夠更好的了解什么是多機通信。當(dāng)然這也是本人自己的學(xué)習(xí)多機通信的歷程筆記。涉及到中斷、 DMA 等內(nèi)容,這里也會做些簡單介紹。

代碼片段和文件信息
#include?“Usart.h“
#include?“stdarg.h“
/*
*函數(shù)名:USART1_Config
*描??述:配置USART1_GPIO工作模式,115200-N-1
*輸??入:null
*輸??出:null
*/
void?USART1_Config(void){
GPIO_InitTypeDef?GPIO_InitStructure;
USART_InitTypeDef?USART_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOAENABLE);//使能串口1,GPIOA時鐘
//USART_GPIO?config
//Tx?PA.9
GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_9;
GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_AF_PP;//復(fù)合推挽輸出
GPIO_InitStructure.GPIO_Speed?=?GPIO_Speed_50MHz;
GPIO_Init(GPIOA&GPIO_InitStructure);
//Rx?PA.10
GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_10;
GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_IN_FLOATING;//浮空輸入
GPIO_Init(GPIOA&GPIO_InitStructure);
//USART_mode?config
USART_InitStructure.USART_BaudRate?=?115200;
USART_InitStructure.USART_HardwareFlowControl?=?USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode?=?USART_Mode_Rx|USART_Mode_Tx;
USART_InitStructure.USART_Parity?=?USART_Parity_No;//不設(shè)置奇偶校驗
USART_InitStructure.USART_StopBits?=?USART_StopBits_1;//1Bit停止位
USART_InitStructure.USART_WordLength?=?USART_WordLength_9b;//9Bit
USART_Init(USART1&USART_InitStructure);
USART_Cmd(USART1ENABLE);
??USART_SetAddress(USART10X00);//設(shè)置串口1為主機,地址為0X00
}
/*
*函數(shù)名:USART2_Config
*描??述:配置USART2_GPIO工作模式,115200-N-1
*輸??入:null
*輸??出:null
*/
void?USART2_Config(void){
GPIO_InitTypeDef??GPIO_InitStructure;
USART_InitTypeDef?USART_InitStructure;
??
??RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2ENABLE);//使能串口2
??RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOAENABLE);//使能GPIOA時鐘
??//USART_GPIO?config
??//Tx?PA.2
??GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_2;
??GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_AF_PP;
??GPIO_InitStructure.GPIO_Speed?=?GPIO_Speed_50MHz;
??GPIO_Init(GPIOA&GPIO_InitStructure);
??//Rx?PA.3
??GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_3;
??GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_IN_FLOATING;
??GPIO_Init(GPIOA&GPIO_InitStructure);
??//USART_mode?config
??USART_InitStructure.USART_BaudRate?=?115200;
??USART_InitStructure.USART_HardwareFlowControl?=?USART_HardwareFlowControl_None;
??USART_InitStructure.USART_Mode?=?USART_Mode_Rx|USART_Mode_Tx;
??USART_InitStructure.USART_Parity?=?USART_Parity_No;
??USART_InitStructure.USART_StopBits?=?USART_StopBits_1;
??USART_InitStructure.USART_WordLength?=?USART_WordLength_9b;
??USART_Init(USART2&USART_InitStructure);
??USART_Cmd(USART2ENABLE);
??USART_SetAddress(USART20X01);//串口2為1號從機,地址為0x01
??USART_ReceiverWakeUpCmd(USART2ENABLE);//開啟靜默模式
??USART_WakeUpConfig(USART2USART_WakeUp_AddressMark);//地址喚醒模式
}
#if?0?//暫時不需要的
/*
*functions:fputc
*describe:從定向c庫函數(shù)printf到USART1
*input:null
*output:null
*/
int?fputc(int?chFILE?*f)
{
USART_SendData(USART1(unsigned?char)ch);
while(USART_GetFlagStatus(USART1USART_FLAG_TC)!=?SET);
return?ch;
}
/*
?*?函數(shù)名:itoa
?*?描述??:將整形數(shù)據(jù)轉(zhuǎn)換成字符串
?*?輸入??:-radix?=10?表示10進制,其他結(jié)果為0
?*?????????-value?要轉(zhuǎn)換的整形數(shù)
?*?????????-buf?轉(zhuǎn)換后的字符串
?*?????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-03-20?17:38??STM32_USART?多機通信學(xué)習(xí)筆記\
?????文件??????533788??2018-03-20?17:20??STM32_USART?多機通信學(xué)習(xí)筆記\STM32_USART?多機通信學(xué)習(xí)筆記.pdf
?????目錄???????????0??2018-03-20?17:37??STM32_USART?多機通信學(xué)習(xí)筆記\V0.1\
?????目錄???????????0??2018-03-20?17:37??STM32_USART?多機通信學(xué)習(xí)筆記\V0.1\BSP\
?????文件?????????939??2013-03-14?21:10??STM32_USART?多機通信學(xué)習(xí)筆記\V0.1\BSP\LED.C
?????文件?????????425??2013-03-14?21:18??STM32_USART?多機通信學(xué)習(xí)筆記\V0.1\BSP\LED.h
?????文件????????5764??2013-08-02?16:57??STM32_USART?多機通信學(xué)習(xí)筆記\V0.1\BSP\Usart.c
?????文件?????????247??2013-08-02?15:57??STM32_USART?多機通信學(xué)習(xí)筆記\V0.1\BSP\Usart.h
?????目錄???????????0??2018-03-20?17:37??STM32_USART?多機通信學(xué)習(xí)筆記\V0.1\CMIS\
?????文件???????17273??2010-06-07?10:25??STM32_USART?多機通信學(xué)習(xí)筆記\V0.1\CMIS\core_cm3.c
?????文件???????85714??2011-02-09?14:59??STM32_USART?多機通信學(xué)習(xí)筆記\V0.1\CMIS\core_cm3.h
?????目錄???????????0??2018-03-20?17:37??STM32_USART?多機通信學(xué)習(xí)筆記\V0.1\CMIS\startup\
?????文件???????15766??2011-03-10?10:52??STM32_USART?多機通信學(xué)習(xí)筆記\V0.1\CMIS\startup\startup_stm32f10x_cl.s
?????文件???????15503??2011-03-10?10:52??STM32_USART?多機通信學(xué)習(xí)筆記\V0.1\CMIS\startup\startup_stm32f10x_hd.s
?????文件???????15692??2011-03-10?10:52??STM32_USART?多機通信學(xué)習(xí)筆記\V0.1\CMIS\startup\startup_stm32f10x_hd_vl.s
?????文件???????12376??2011-03-10?10:52??STM32_USART?多機通信學(xué)習(xí)筆記\V0.1\CMIS\startup\startup_stm32f10x_ld.s
?????文件???????13656??2011-03-10?10:52??STM32_USART?多機通信學(xué)習(xí)筆記\V0.1\CMIS\startup\startup_stm32f10x_ld_vl.s
?????文件???????12765??2011-03-10?10:52??STM32_USART?多機通信學(xué)習(xí)筆記\V0.1\CMIS\startup\startup_stm32f10x_md.s
?????文件???????14073??2011-03-10?10:51??STM32_USART?多機通信學(xué)習(xí)筆記\V0.1\CMIS\startup\startup_stm32f10x_md_vl.s
?????文件???????15955??2011-03-10?10:51??STM32_USART?多機通信學(xué)習(xí)筆記\V0.1\CMIS\startup\startup_stm32f10x_xl.s
?????文件??????633941??2011-03-10?10:51??STM32_USART?多機通信學(xué)習(xí)筆記\V0.1\CMIS\stm32f10x.h
?????文件???????36557??2011-03-10?10:51??STM32_USART?多機通信學(xué)習(xí)筆記\V0.1\CMIS\system_stm32f10x.c
?????文件????????2085??2011-03-10?10:51??STM32_USART?多機通信學(xué)習(xí)筆記\V0.1\CMIS\system_stm32f10x.h
?????目錄???????????0??2018-03-20?17:37??STM32_USART?多機通信學(xué)習(xí)筆記\V0.1\FWlib\
?????目錄???????????0??2018-03-20?17:37??STM32_USART?多機通信學(xué)習(xí)筆記\V0.1\FWlib\inc\
?????文件????????8982??2011-03-10?10:47??STM32_USART?多機通信學(xué)習(xí)筆記\V0.1\FWlib\inc\misc.h
?????文件???????21690??2011-03-10?10:47??STM32_USART?多機通信學(xué)習(xí)筆記\V0.1\FWlib\inc\stm32f10x_adc.h
?????文件????????7555??2011-03-10?10:47??STM32_USART?多機通信學(xué)習(xí)筆記\V0.1\FWlib\inc\stm32f10x_bkp.h
?????文件???????27559??2011-03-10?10:47??STM32_USART?多機通信學(xué)習(xí)筆記\V0.1\FWlib\inc\stm32f10x_can.h
?????文件????????6573??2011-03-10?10:47??STM32_USART?多機通信學(xué)習(xí)筆記\V0.1\FWlib\inc\stm32f10x_cec.h
?????文件????????2162??2011-03-10?10:47??STM32_USART?多機通信學(xué)習(xí)筆記\V0.1\FWlib\inc\stm32f10x_crc.h
............此處省略480個文件信息
- 上一篇:小米系列QCN
- 下一篇:OLED程序例程K60_4WIRE_SPI例程
評論
共有 條評論