资源简介
利用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版
相关资源
- 毕业设计 - 非接触式数字体温计的设
- ——0.96寸OLED显示屏7针SPI协议.zip
- STM32 控制ESP8266 WIFI模块 连接OneNET
- STM32-AS608指纹锁程序
- 51单片机开发板PCB 原理图
- MMA8452资料,包含STM32代码和51代码
- stm32多个串口的配置
- STM32F401移植uCosIII
- 飞思卡尔MC9S12X128单片机的认识与实践
- STM32 FLASH模拟EEPROM
- 基于STM32的电子秤源码,全国电子设计
- stm32搭建web服务器
- STM32F4驱动人体红外传感器
- stm32烧录工具(官方版与mcuisp)
- 单片机原理及其接口技术(第二版)
- STM32F103+SPEEX做的对讲机原理图+源程序
- 51单片机和modbus中文资料软件源代码全
- 基于STM32F407ZGT6库函数写的Modbus协议
- 基于STM32F407写的LoRa SX-1278源码
- STM32+ADC+DMA+USART
- 基于STM32F4的霍尔编码器解析程序
- SHT30 温度、湿度传感器 STM32F130ZET6
- stm32F767控制步进电机源程序
- STM32+OLED25664 音乐频谱+万年历包含源码
- STM32F103 Hal库 EV1527 433M解码
- STM32F4 EMWIN开发手册V3.0(正点原子)
- D1开发板学习资料例程.rar
- stm32风力摆
- 全桥单极性带死区互补SPWM基于STM32F
- ARM Cortex-M3系统设计与实现——STM32基
评论
共有 条评论