资源简介
利用USART空闲中断发送一帧完整的数据包,一块板采集ADC信号发送给另一块板。适合作为新手学习USART的例程。

代码片段和文件信息
#include “adc.h“
#include “SysTick.h“
/*******************************************************************************
* 函 数 名 : ADCx_Init
* 函数功能 : ADC初始化
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void ADCx_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure; //定义结构体变量
ADC_InitTypeDef ADC_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_ADC1ENABLE);
RCC_ADCCLKConfig(RCC_PCLK2_Div6);//设置ADC分频因子6 72M/6=12ADC最大时间不能超过14M
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1;//ADC
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AIN; //模拟输入
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOA&GPIO_InitStructure);
ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;
ADC_InitStructure.ADC_ScanConvMode = DISABLE;//非扫描模式
ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;//关闭连续转换
ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;//禁止触发检测,使用软件触发
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;//右对齐
ADC_InitStructure.ADC_NbrOfChannel = 1;//1个转换在规则序列中 也就是只转换规则序列1
ADC_Init(ADC1 &ADC_InitStructure);//ADC初始化
ADC_Cmd(ADC1 ENABLE);//开启AD转换器
ADC_ResetCalibration(ADC1);//重置指定的ADC的校准寄存器
while(ADC_GetResetCalibrationStatus(ADC1));//获取ADC重置校准寄存器的状态
ADC_StartCalibration(ADC1);//开始指定ADC的校准状态
while(ADC_GetCalibrationStatus(ADC1));//获取指定ADC的校准程序
ADC_SoftwareStartConvCmd(ADC1 ENABLE);//使能或者失能指定的ADC的软件转换启动功能
}
/*******************************************************************************
* 函 数 名 : Get_ADC_Value
* 函数功能 : 获取通道ch的转换值,取times次然后平均
* 输 入 : ch:通道编号
times:获取次数
* 输 出 : 通道ch的times次转换结果平均值
*******************************************************************************/
u16 Get_ADC_Value(u8 chu8 times)
{
u32 temp_val=0;
u8 t;
//设置指定ADC的规则组通道,一个序列,采样时间
ADC_RegularChannelConfig(ADC1 ch 1 ADC_SampleTime_239Cycles5); //ADC1ADC通道239.5个周期提高采样时间可以提高精确度
for(t=0;t {
ADC_SoftwareStartConvCmd(ADC1 ENABLE);//使能指定的ADC1的软件转换启动功能
while(!ADC_GetFlagStatus(ADC1 ADC_FLAG_EOC ));//等待转换结束
temp_val+=ADC_GetConversionValue(ADC1);
delay_ms(5);
}
return temp_val/times;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2020-08-15 20:09 USART空闲中断发送数据包\发送板\
目录 0 2020-08-15 16:56 USART空闲中断发送数据包\发送板\APP\
目录 0 2020-08-15 16:56 USART空闲中断发送数据包\发送板\APP\adc\
文件 2550 2017-05-19 10:50 USART空闲中断发送数据包\发送板\APP\adc\adc.c
文件 128 2016-09-10 09:53 USART空闲中断发送数据包\发送板\APP\adc\adc.h
目录 0 2020-08-15 16:56 USART空闲中断发送数据包\发送板\APP\beep\
文件 508 2017-03-17 17:20 USART空闲中断发送数据包\发送板\APP\beep\beep.c
文件 260 2017-03-17 17:19 USART空闲中断发送数据包\发送板\APP\beep\beep.h
目录 0 2020-08-15 16:56 USART空闲中断发送数据包\发送板\APP\exti\
文件 4681 2017-03-20 13:28 USART空闲中断发送数据包\发送板\APP\exti\exti.c
文件 97 2016-08-26 10:59 USART空闲中断发送数据包\发送板\APP\exti\exti.h
目录 0 2020-08-15 16:56 USART空闲中断发送数据包\发送板\APP\input\
文件 3507 2017-03-22 14:32 USART空闲中断发送数据包\发送板\APP\input\input.c
文件 216 2017-03-22 14:21 USART空闲中断发送数据包\发送板\APP\input\input.h
目录 0 2020-08-15 16:56 USART空闲中断发送数据包\发送板\APP\iwdg\
文件 1018 2016-11-13 15:36 USART空闲中断发送数据包\发送板\APP\iwdg\iwdg.c
文件 136 2016-09-06 09:09 USART空闲中断发送数据包\发送板\APP\iwdg\iwdg.h
目录 0 2020-08-15 16:56 USART空闲中断发送数据包\发送板\APP\key\
文件 1923 2017-03-20 13:15 USART空闲中断发送数据包\发送板\APP\key\key.c
文件 941 2017-03-20 13:13 USART空闲中断发送数据包\发送板\APP\key\key.h
目录 0 2020-08-15 16:56 USART空闲中断发送数据包\发送板\APP\led\
文件 763 2017-03-17 17:12 USART空闲中断发送数据包\发送板\APP\led\led.c
文件 382 2017-03-20 13:18 USART空闲中断发送数据包\发送板\APP\led\led.h
目录 0 2020-08-15 16:56 USART空闲中断发送数据包\发送板\APP\pwm\
文件 1758 2017-03-20 14:51 USART空闲中断发送数据包\发送板\APP\pwm\pwm.c
文件 109 2017-03-20 14:51 USART空闲中断发送数据包\发送板\APP\pwm\pwm.h
目录 0 2020-08-15 16:56 USART空闲中断发送数据包\发送板\APP\smg\
文件 453 2017-03-17 17:38 USART空闲中断发送数据包\发送板\APP\smg\smg.c
文件 328 2017-03-17 17:36 USART空闲中断发送数据包\发送板\APP\smg\smg.h
目录 0 2020-08-15 16:56 USART空闲中断发送数据包\发送板\APP\time\
文件 1753 2016-11-11 19:55 USART空闲中断发送数据包\发送板\APP\time\time.c
............此处省略351个文件信息
- 上一篇:YiFile辅助
- 下一篇:达内电信计费系统2014版
相关资源
- I2C读写AT24C02 基于STM32F103 cube116540
- 基于stm32f103ve的程序——跑马灯实验
- 基于STM32RCT6的步进电机驱动程序
- stm32f407上的两个can发送和接收例程
- STM32 led 时钟
- STM32 2.4G通信例程
- STC8951系列单片机中方指南
- 直流无刷电机方波驱动 stm32 例程代码
- STM32中文资料
- 基于MCS_51单片机的工业屏柜散热方案
- MCS_51单片机与8255A的接口设计
- STM32蓝牙和串口程序
- STM32f103超声波模块例程
- stm32f103c8t6 4 oled.rar
- stm32f030 IAP Demo(原创)
- 飞思卡尔单片机MC9S12XS12G128驱动(硬件
- 51单片机PWM程序,占空比、周期可调整
- 单片机和adc0809数字电压表
- PIC单片机完成的电子密码锁
- 单片机、ADC0808809设计简易数字电压表
- 51单片机多功能自行车测速仪
- 单片机做的6位时分秒数字钟
- 单片机电子时钟 闹钟 日历
- STM32基于rt_thread操作系统的SDHC卡文件
- 音乐代码转换软件 单片机编程时用
- 单片机课程设计 篮球计分器
- 00
- 用51单片机实现G代码翻译
- 简易的电阻电容测量电路
- 单片机与温度传感器DS18B20的程序设计
评论
共有 条评论