① 在学STM32F4单片机 RTC实验里面有这么一句代码 (*(u32*)temp)=data这是什么意思
强制类型转换。
u32 是一个自定义的数据类型。
u32*是一个指针类型。
temp 前面加(u32*)是把temp强制转换成 指向u32类型的指针。
前面再加一个*,是访问指针指向的地址。
temp是一个整数,这个整数实际上是一个内存地址,这句的意思是把data内容放到temp所指向的地址的内存单元中。
这实际上是一个低层访问,除了汇编语言,就数C语言做这种低层操作比较简单,所以,单片机大都用C语言编程。
② stm32f4单片机 如何让IO口输出低电平
STM32代表ARM Cortex-M内核的32位微控制器,具有高性能,实时性强,低功耗,便于低电压操作等优点,同时还易于开发。
按内核架构分,有STM32F103“增强型”系、STM32F101“基本型”系列、STM32F105、STM32F107“互联型”系列。其中增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是32位产品用户的最佳选择。
两个系列都内置32K到128K的闪存,不同的是 SRAM的最大容量和外设接口的组合。时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品,相当于0.5mA/MHz。
在STM32F105和STM32F107互连型系列微控制器之前,意法半导体已经推出STM32基本型系列、增强型系列、USB基本型系列、互补型系列;新系列产品沿用增强型系列的72MHz处理频率。
内存包括64KB到256KB闪存和 20KB到64KB嵌入式SRAM。新系列采用LQFP64、LQFP100和LFBGA100三种封装,不同的封装保持引脚排列一致性,结合STM32平台的设计理念,开发人员通过选择产品可重新优化功能、以最小的硬件变化来满足个性化的应用需求。
③ 单片机已知定时时间如何设计PSC和ARR的值
对于STM32F4开发板,先弄清APB1的时钟频率是42M,是AHB时钟168M经4分频得到的,由于分频系数不为1,因此CK-INT的频率是APB1时钟的2倍84M,可知
定时时间 us=(ARR+1)(PSC+1)/84M
取PSC=83, 刚好一个脉冲1us,则定时时间 us=(ARR+1),
定时1000US,ARR取999 定时100US,ARR取 99
16位定时器 最大可定时 65535 US。
取PSC=167, 则一个脉冲2us
取PSC=839, 则一个脉冲10us
取PSC=8399, 则一个脉冲100us 这时最大可定时 6.5535 S。
取PSC=83999 不行,超过16位寄存器的允许范围
对于STM32F1开发板,APB1的时钟频率是36M,是AHB时钟72M经2分频得到的,由于分频系数不为1,因此CK-INT的频率是APB1时钟的2倍即72M。