/*
*********************************************************************************************************
*
* 模块名称 : 主程序模块。
* 文件名称 : main.c
* 版 本 : V1.0
* 说 明 : ADC采样和滤波例程。
* 修改记录 :
* 版本号 日期 作者 说明
*
*********************************************************************************************************
*/
#include "stm32f10x.h" /* 如果要用ST的固件库,必须包含这个文件 */
#include /* 因为用到了printf函数,所以必须包含这个文件 */
/* 定义例程名和例程发布日期 */
#define EXAMPLE_NAME "GPIO口模拟串口"
#define EXAMPLE_DATE "2012-11-12"
#define DEMO_VER "1.0"
#define TXD_high() GPIO_SetBits(GPIOA, GPIO_Pin_9)
#define TXD_low() GPIO_ResetBits(GPIOA, GPIO_Pin_9)
#define BaudRateUsed 9600
#define SendingDelay 104
/* 仅允许本文件内调用的函数声明 */
static void PrintfLogo(void);
static void GPIO_Configuration(void);
static void Delay_Ms(__IO uint32_t nTime);
static void EXTI_Configuration(void);
static void TIM1_Configuration(void);
static void TIM2_Configuration(void);
static void TIM3_Configuration(void);
static void PrintfAnswer(void);
/* 外部文件可以调用的函数声明 */
void SendOneByte(uint8_t datatoSend);
__IO uint32_t TimingDelay;
uint8_t dataReceived[100];
uint8_t Logo[]={"Hello, C!\r\n"};
__IO uint8_t receivedFlag;
__IO uint8_t receivedNum, tmpreceivedNum;
uint16_t g_usAdcValue; /* ADC 采样值的平均值 */
/*
*********************************************************************************************************
* 函 数 名: main
* 功能说明: c程序入口
* 形 参:无
* 返 回 值: 错误代码(无需处理)
*********************************************************************************************************
*/
int main(void)
{
/*
由于ST固件库的启动文件已经执行了CPU系统时钟的初始化,所以不必再次重复配置系统时钟。
启动文件配置了CPU主时钟频率、内部Flash访问速度和可选的外部SRAM FSMC初始化。
系统时钟缺省配置为72MHz,如果需要更改,可以修改:
\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.c
中配置系统时钟的宏。
*/
uint8_t i;
/* IO配置 */
GPIO_Configuration();
/* 配置外部中断 */
EXTI_Configuration();
/* TIM1初始化,用于接收 */
TIM1_Configuration();
/* TIM2初始化,用于判断数据是否接收完成 */
TIM2_Configuration();
/* TIM3初始化,用于发送 */
TIM3_Configuration();
/* 直接调用模拟串口发送函数 */
SendOneByte('H');
SendOneByte('e');
SendOneByte('l');
SendOneByte('