資源簡介
這個是改進了,采用SPI中斷控制實現0-100的收發,單片機主從通訊,采用STM32F103系列,一個小DEMO,函數都已經實現,方便移植。

代碼片段和文件信息
#include?“Uart.h“
void?Uart1_Init_Config(void)
{
Sys_Init(); ???//系統時鐘的初始化
Gpio_Init(); ???//?端口的初始化
Uart1_Init();???//?串口的配置及其初始化
Nvid_Init(); //?中斷模式的初始化
}
void?Sys_Init(void)
{
SystemInit();
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO|RCC_APB2Periph_GPIOA|RCC_APB2Periph_USART1ENABLE);
}
void?Gpio_Init(void)
{
GPIO_InitTypeDef?GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_9?;
GPIO_InitStructure.GPIO_Speed?=?GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_AF_PP?;
GPIO_Init(GPIOA?&GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_10?;
GPIO_InitStructure.GPIO_Speed?=?GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_IN_FLOATING?;
GPIO_Init(GPIOA?&GPIO_InitStructure);
}
void?Uart1_Init(void)
{
USART_InitTypeDef?USART_InitStructure;
USART_InitStructure.USART_BaudRate?=?9600;
USART_InitStructure.USART_WordLength?=?USART_WordLength_8b;
USART_InitStructure.USART_StopBits?=?USART_StopBits_1;
USART_InitStructure.USART_Parity?=?USART_Parity_No;
USART_InitStructure.USART_HardwareFlowControl?=USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode?=?USART_Mode_Tx?|?USART_Mode_Rx;
USART_Init(USART1?&USART_InitStructure);
USART_Cmd(USART1?ENABLE);
USART_ITConfig(USART1?USART_IT_RXNEENABLE);
USART_ClearFlag(USART1USART_FLAG_RXNE|USART_FLAG_TC|USART_FLAG_TXE);
}
void?Nvid_Init(void)
{
NVIC_InitTypeDef?NVIC_InitStructure;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
NVIC_InitStructure.NVIC_IRQChannel?=?USART1_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority?=?0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority?=?2;
NVIC_InitStructure.NVIC_IRQChannelCmd?=?ENABLE;
NVIC_Init(&NVIC_InitStructure);
}
int?fputc(int?ch?FILE?*f)
{
/*?發送一個字節數據到USART1?*/
USART_SendData(USART1?(uint8_t)?ch);
/*?等待發送完畢?*/
while?(USART_GetFlagStatus(USART1?USART_FLAG_TXE)?==?RESET);
return?(ch);
}
///?重定向c庫函數scanf到USART1
int?fgetc(FILE?*f)
{
/*?等待串口1輸入數據?*/
while?(USART_GetFlagStatus(USART1?USART_FLAG_RXNE)?==?RESET);
return?(int)USART_ReceiveData(USART1);
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-03-23?22:40??SP主從通訊\
?????目錄???????????0??2019-03-23?22:40??SP主從通訊\APP\
?????目錄???????????0??2019-03-23?22:40??SP主從通訊\APP\SPI\
?????文件????????3768??2019-03-24?21:25??SP主從通訊\APP\SPI\SPI.C
?????文件?????????262??2018-05-04?17:09??SP主從通訊\APP\SPI\SPI.h
?????目錄???????????0??2019-03-23?22:40??SP主從通訊\APP\Usart\
?????文件????????2232??2018-05-04?16:41??SP主從通訊\APP\Usart\Uart.c
?????文件?????????311??2018-05-04?16:41??SP主從通訊\APP\Usart\Uart.h
?????目錄???????????0??2018-02-15?09:35??SP主從通訊\Doc\
?????目錄???????????0??2019-03-23?22:36??SP主從通訊\Libraries\
?????目錄???????????0??2019-03-23?22:36??SP主從通訊\Libraries\CMSIS\
?????文件???????17273??2010-06-07?10:25??SP主從通訊\Libraries\CMSIS\core_cm3.c
?????文件???????85714??2011-02-09?14:59??SP主從通訊\Libraries\CMSIS\core_cm3.h
?????目錄???????????0??2019-03-23?22:36??SP主從通訊\Libraries\CMSIS\startup\
?????文件???????15766??2011-03-10?10:52??SP主從通訊\Libraries\CMSIS\startup\startup_stm32f10x_cl.s
?????文件???????15503??2011-03-10?10:52??SP主從通訊\Libraries\CMSIS\startup\startup_stm32f10x_hd.s
?????文件???????15692??2011-03-10?10:52??SP主從通訊\Libraries\CMSIS\startup\startup_stm32f10x_hd_vl.s
?????文件???????12376??2011-03-10?10:52??SP主從通訊\Libraries\CMSIS\startup\startup_stm32f10x_ld.s
?????文件???????13656??2011-03-10?10:52??SP主從通訊\Libraries\CMSIS\startup\startup_stm32f10x_ld_vl.s
?????文件???????12765??2011-03-10?10:52??SP主從通訊\Libraries\CMSIS\startup\startup_stm32f10x_md.s
?????文件???????14073??2011-03-10?10:51??SP主從通訊\Libraries\CMSIS\startup\startup_stm32f10x_md_vl.s
?????文件???????15955??2011-03-10?10:51??SP主從通訊\Libraries\CMSIS\startup\startup_stm32f10x_xl.s
?????文件??????633941??2011-03-10?10:51??SP主從通訊\Libraries\CMSIS\stm32f10x.h
?????文件???????36557??2011-03-10?10:51??SP主從通訊\Libraries\CMSIS\system_stm32f10x.c
?????文件????????2085??2011-03-10?10:51??SP主從通訊\Libraries\CMSIS\system_stm32f10x.h
?????目錄???????????0??2019-03-23?22:36??SP主從通訊\Libraries\FWLIB\
?????目錄???????????0??2019-03-23?22:36??SP主從通訊\Libraries\FWLIB\inc\
?????文件????????8982??2011-03-10?10:47??SP主從通訊\Libraries\FWLIB\inc\misc.h
?????文件???????21690??2011-03-10?10:47??SP主從通訊\Libraries\FWLIB\inc\stm32f10x_adc.h
?????文件????????7555??2011-03-10?10:47??SP主從通訊\Libraries\FWLIB\inc\stm32f10x_bkp.h
?????文件???????27559??2011-03-10?10:47??SP主從通訊\Libraries\FWLIB\inc\stm32f10x_can.h
............此處省略161個文件信息
- 上一篇:基于套接字編程的簡易聊天程序
- 下一篇:K12在線教育競品分析
評論
共有 條評論