蓝桥杯竞赛板使用笔记(3)
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;//配置为模拟输入模式 GPIO_Init(GPIOB, &GPIO_InitStructure); /* ADC1 configuration ------------------------------------------------------*/ ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;//此处配置单通道独立
模式或多通道扫描模式
ADC_InitStructure.ADC_ScanConvMode = DISABLE;//扫描模式禁止
ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;//连续转换使能
ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;//不使用外
部触发
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;//字节右对齐 ADC_InitStructure.ADC_NbrOfChannel = 1;//转换通道数为1 ADC_Init(ADC1, &ADC_InitStructure);
/* ADC1 regular channel14 configuration */
ADC_RegularChannelConfig(ADC1,ADC_Channel_8,1,ADC_SampleTime_55Cycles5); //设置ADC通道转换
/* Enable ADC1 reset calibration register */ ADC_ResetCalibration(ADC1);
/* Check the end of ADC1 reset calibration register */ while(ADC_GetResetCalibrationStatus(ADC1));
/* Start ADC1 calibration */ ADC_StartCalibration(ADC1);
/* Check the end of ADC1 calibration */
while(ADC_GetCalibrationStatus(ADC1)); //对ADC的校准,库中复制过来即可
/* Start ADC1 Software Conversion */
ADC_SoftwareStartConvCmd(ADC1, ENABLE);// 软件触发ADC转换开始
然后在主函数中通过函数不断查询的到转换结果并显示: while(1) {
}
ADCValue=ADC_GetConversionValue(ADC1)*3.30/0xfff;
sprintf(str,\注意此函数把浮点数转换成字符串的格式 LCD_DisplayStringLine(Line5,str);
八、 TIMER
Stm32的定时器是比较复杂,但绝不能想的太复杂,被官方给的一百余页介绍文档给吓倒。主要就这个这个原理图,看懂就全懂了。
对于一般的应用(时基计数、PWM输出、输入捕获),弄清楚三个寄存器即可,分别是自动重装载寄存器、CNT计数器、捕获/比较1234寄存器。
1、 时基计数功能:经过分频设置好时钟源后,CNT就开始(递增或递减)计数,若设
置了更新中断,则当CNT递减至0时,产生更新中断,同时自动重装载寄存器的值会给到CNT计数寄存器,重新下一周期的计数。(设置为计数器递增模式时类似)。 具体对定时器的设置代码如下:
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_TimeBaseStructure.TIM_Period = 999;//设置自动重载值
TIM_TimeBaseStructure.TIM_Prescaler = 7199;//设置分频值:72M/(7199+1) TIM_TimeBaseStructure.TIM_ClockDivision = 0;//时钟分割,用于滤波,不用设0即可 TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;//向上计数模式 TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
TIM_Cmd(TIM2, ENABLE);//使能Tim
此时定时器的基本设置已好,然后打开中断,在中断服务函数中设置计数变量累加,最简单的定时功能就实现了。。。。关于中断的频率,简单一句话:定时器以所设置的分频后的时钟频率,每计数至自动重载值(或由重载值减至零)时中断一次。。
//NVIC的设置省略 /* TIM IT enable */
TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);//使能更新中断
void TIM2_IRQHandler(void) {
if(TIM_GetITStatus(TIM2,TIM_IT_Update) == SET)//判断更新中断置位与否 { Timcnt++; } }
2、 PWM输出功能 从原理图上可以看出,每个定时器都有独立的四个通道,但是共用
一个CNT,即对每个定时器的四个通道而言,其时基是相同的,不同的是各通道比较寄存器的值,从而每个定时器都可产生4路频率相同而占空比不同的PWM波(特别注意这里是对每一个定时器而言的)。
具体原理过程是,CNT以设置好的频率计时,CNT的数值范围是0至重载寄存器的值(即PWM的周期),对PWM模式1且输出极性为高(。。。)而言,当CNT的值在0至 [捕获寄存器值]时,输出高点平,当CNT的值在[捕获寄存器值]至[重载寄存器值]时,输出低电平。所以不难看出,通过对预分频寄存器、自动重载寄存器、比较寄存器进行设置,即可生成不同频率不同占空比的PWM。 具体代码如下:
//对时基的设置同前…。。。
//每个TIM通道都对应一个外部GPIO,对应设置为GPIO_Mode_AF_PP复用推挽输出模式(略)
TIM_OCInitTypeDef TIM_OCInitStructure;
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;//PWM输出模式1 TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;//输出使能 TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Enable; TIM_OCInitStructure.TIM_Pulse = 300;//设置比较寄存器的值
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;//输出极性高 TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_High; TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set; TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCIdleState_Reset;
TIM_OC2Init(TIM2, &TIM_OCInitStructure);
完毕。。
若在程序运行中要更改占空比,调用如下函数:
TIM_ClearITPendingBit(TIM2,TIM_IT_Update); //清除更新中断
…… 此处隐藏:1348字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [高等教育]公司协助某村精准扶贫工作总结.doc
- [高等教育]高二生物知识点总结(全)
- [高等教育]苏教版数学三年级下册《解决问题的策略
- [高等教育]仪器分析课程学习心得
- [高等教育]2017年五邑大学数学与计算科学学院333
- [高等教育]人教版七年级下册语文第四单元测试题(
- [高等教育]2018年秋七年级英语上册Unit7Howmuchar
- [高等教育]2017年八年级下数学教学工作小结
- [高等教育]湖南省怀化市2019届高三统一模拟考试(
- [高等教育]四年级下册科学_基础训练及答案教材
- [高等教育]城郊煤矿西风井管路伸缩器更换施工安全
- [高等教育]昆八中20182019学年度上学期期末考试
- [高等教育]项目部各类人员任命书
- [高等教育]上市公司经营水务产业的模式
- [高等教育]人教版高二化学第一学期第三章水溶液中
- [高等教育]【中考物理第一轮复习资料】四.压强与
- [高等教育]金坑水电站报废改建工程机电设备更新改
- [高等教育]高中生物教学工作计划简易版
- [高等教育]2017年西华大学攀枝花学院(联合办学)44
- [高等教育]最新整理超短爆笑英文小笑话大全
- 优秀教师继续教育学习心得体会
- 阳历到阴历的转换
- 留守儿童教育案例分析
- 华师17春秋学期《玩教具制作与环境布置
- 测速传感器新型安装装置的现场应用
- 人教版小学数学三年级下册第四单元
- 创业个人意向书
- 山东省潍坊市2012年高考仿真试题(三)
- [恒心][好卷速递]四川省成都外国语学校
- 多少人错把好转反应当成了病情加重处理
- 中外广播电视史复习资料整理
- 江苏省扬州市江都区宜陵镇中学2014-201
- 工程造价专业毕业实习报告
- 广西师范学院心理与教育统计
- aympkrq基于 - asp的博客网站设计与开
- 建筑业外出经营相关流程操作(营改增后
- 人治 德治 法治
- [精华篇]常识判断专项训练题库
- 中国共产党为什么要实行民主集中
- 小学数学第三册第一单元试卷(A、B、C




