完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
软件bug:1.结构体定义必须在前边不然会报错
2.每个.c和.h文件最后必要要有空行 3.项目编写完之后必须先关闭再打开才能烧录进去 4.声明函数如果没有形参要写void不然会出警告 知识点: INIT:(不但有用到的管脚一定不要忘记锁存器要一起初始化) 1.打开IO口,对IO口进行配置(初始化IO口管脚,工作模式,频率) 2.打开需要用到的时钟(A B C D排管脚)eg:每操作一个IO口之前需要对时钟进初始化 使用: 1.打开锁存器 2.打开用到的设备 外部中断:(阶级有嵌套,阶层没有嵌套) EXTI:首先添加stm3210x_exti.c到FWLIB文件包中 NVIC:添加misc.c到FWLIB文件包中 温度模数转换: 温度计算公式:1430 - 1000*返回的的ADC值)/4.3 + 25; 历程步骤: 所有project都必须要添加gpio.c ,rcc.c LED:(初始化led初,始化寄存器,添加stm32f10x_gpio.c stm32f10x_rcc.c) SysTick:主函数里面编写滴答定时器函数,在中断服务函数里面完善定时器函数 LCD:添加lcd.c led.h font.h,然后去在三个write都要添加两个u16 emph = GPIOC->ODR;GPIOC->ODR = emph; USART:(初始化配置,添加stm32f10x_usart.c) TX:1.配置usart2 2.配置GPIO管脚2 3.编写使用函数 RX:(添加misc.c) 1.配置usart2 2.配置GPIO管脚3 3.配置中断NVIC 并且在*it.c添写中断服务程序 4.编写使用函数 遇到问题:1.RX配置 USART_ITConfig(USART2, USART_IT_RXNE, ENABLE); // USART_ITConfig(USART2, USART_IT_TXE, ENABLE);不能同时存在 KEY:(初始化A0 A8 B1 B2三个按键) 1.使用滴答定时器初始化 编写Key_Scanf()函数 编写使用函数(长短按键的是使用方法) 2.使用EXTI初始化(配置GPIO EXTI NVIC,添加exti.c和misc.c配置文件) 向中断服务函数it.c里面编写对应的函数 编写使用函数 EXTI:(外部中断/事件控制器。stm32f10x_exti.c) EXTI0 EXTI1 EXTI2 EXTI3 EXTI4 EXTI9-5 EXTI15-10 NVIC:(Nested vectored interrupt controller。嵌套向量中断控制器 stm32f10x_misc.c) NVIC_PriorityGroup | NVIC_IRQChannelPreemptionPriority | NVIC_IRQChannelSubPriority | Description ============================================================================= NVIC_PriorityGroup_0 | 0 | 0-15 | 0 bits for pre-emption priority | | | 4 bits for subpriority NVIC_PriorityGroup_1 | 0-1 | 0-7 | 1 bits for pre-emption priority | | | 3 bits for subpriority NVIC_PriorityGroup_2 | 0-3 | 0-3 | 2 bits for pre-emption priority | | | 2 bits for subpriority NVIC_PriorityGroup_3 | 0-7 | 0-1 | 3 bits for pre-emption priority | | | 1 bits for subpriority NVIC_PriorityGroup_4 | 0-15 | 0 | 4 bits for pre-emption priority | | | 0 bits for subpriority EXTI和NVIC的区分和理解 exti是外部中断的配置,NVIC是中断优先级、开启的配置。 开启PG8的外部中断(EXTI),通过NVIC配置这个外部中断的优先级,程序中检测中断来了就点灯就行了 ADC:(初始化配置,添加stm32f10x_adc.h) 1.初始化配置ADC通道 2.编写获取函数的 3.在滴答中断服务函数里面添加标志变量 4.在主函数中使用逻辑 预分频:RCC_ADCCLKConfig(RCC_PCLK2_Div6);//对ADC进行(2.4.6.8)分频 板子最大晶振72M/6=12,ADCCLK最大是14MHz所以不能超过 14M 计算电压:ADC_GetConversionValue(ADC1)*(3.30/4095) 基准电压3.3v 12位ADC最大分辨率4096准确讲应该是4095(即2^12-1),那么ADC输出值只能在0~4096之间。把数字量转化为带单位的值时候, 就要用参考电压来计算, 得到多少伏的量, 这个容易懂了. ADC1 ADC2 ADC3 通道0 PA0 PA0 PA0 通道1 PA1 PA1 PA1 通道2 PA2 PA0 PA2 通道3 PA3 PA3 PA3 通道4 PA4 PA4 PF6 通道5 PA5 PA5 PF7 通道6 PA6 PA6 PF8 通道7 PA7 PA7 PF9 通道8 PB0 PB0 PF10 通道9 PB1 PB1 通道10 PC0 PC0 PC0 通道11 PC1 PC1 PC1 通道12 PC2 PC2 PC2 通道13 PC3 PC3 PC3 通道14 PC4 PC4 通道15 PC5 PC5 通道16 温度传感器 通道17 内部参照电压 TIM:(可编程预分频器驱动的16位自动装载计数器,添加stm32f10x_tim.c stm32f10x_misc.c) 快速编写:6-STM32固件库代码V3.5版 TIMTimeBase TIM1/TIM8高级定时器 TIM2-TIM7同用定时器 TimeOut = ((Prescaler + 1) * (Period + 1) ) / TimeClockFren; eg:500ms=((4999+1)*(7199+1))/72 4 个独立通道(TIMx_CH1~4),这些通道可以用来作为: A.输入捕获 B.输出比较 C. PWM 生成(边缘或中间对齐模式) D.单脉冲模式输出 ● 计数器寄存器(TIMx_CNT) ● 预分频器寄存器 (TIMx_PSC) ● 自动装载寄存器 (TIMx_ARR) TIM3_CH1~TIM3_CH4 分别是接在 PA6、 PA7、 PB0 和 PB1 一 定时器:1.初始化配置打开寄存器打开中断 2.配置中断服务函数 3.编写使用函数 二PWM波:1.初始化配置选择(TIM2-TIM4)定时器的通道(ch1-ch4)进行PW波的输出,重映射 自动重装载arr 预分频psc 1.定时器时钟:TIMx_clk =72Mhz =72000000hz 2.计数器时钟:CK_cnt =72M/71(psc)+1 =1Mhz = 1us 3.定时器时间f:1*arr(1000)=1ms 频率: T=1/f=1/0.001s=1000hz=1k hz IIC:(添加stm32f10x_i2c.c) 1.添加官网给的底层IIc.c IIc.h代码 2.看流程图(8 11)编写写入和读取函数 3.在主函数编写使用函数 RTC:(添加stm32f10x_bkp.c stm32f10x_rtc.c stm32f10x_pwr.c stm32f10x_misc.c) 1.初始化配置 2.编写中断服务函数 3.在main文件中编写分离时分秒函数并输出 BEEP:(串口PB4默认功能不是蜂鸣器需要对串口进行重映射) 1.初始化配置函数用到重映射 2.使用函数 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1646 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1566 浏览 1 评论
993 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
692 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1611 浏览 2 评论
1871浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
656浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
526浏览 3评论
543浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
515浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-27 07:53 , Processed in 0.579828 second(s), Total 45, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号