首先我们当然知道105/107系列的是互联型产品,但是我这里的需求是这样的: 写一个Flash操作的基础函数,因为涉及到对Flash页的操作,需要知道单页的大小,首先可以肯定的是小容量(16 ~ 32KB)、中容量(64 ~ 128KB)的页面大小都是1KB,大容量(256 ~ 512KB)的是2KB,互联型的页面大小也是2KB,这都没问题。 但是问题是,互联型的产品,从64KB,128KB,256KB的都有,单纯从Flash大小,例如128KB无法分辨到底是互联型产品,还是中容量的产品,能否通过读取某些特定的寄存器识别这种差别?或者只能是使用比较简单粗暴的宏定义方式,人为地进行区分? |
stm32f103c8t6串口发送大量hex数据失效。
Proteus是否无法正确仿真STM32的开漏输出
Cortex m3内核是很特殊吗,为什么st公司的很多软件比如cubemx.ai唯独不支持m3内核的stm32f1系列
STM32 CAN通讯收发异常
自己画的STM32F103RCT6的板子下载识别不到芯片。
adc采集电压
STM32硬件IIC
STM32IDE工程内如何访问、计算得到当前程序flash已经使用的情况?
数据丢失
STM32F107RBT6 页擦除函数返回值成功但目标扇区数据并未擦除
当然,个人觉得最快捷的方式就是读取芯片的设备ID,在这个寄存器里 DBGMCU_IDCODE,
其中DEV_ID等于0x418时表示芯片为互联型。
当然,还可以有其它灵活方式,比较很多寄存器/位只支持互联型的,否则必须
保持为预留值。这点我们也可以加以利用。
感谢指点,我赶紧去翻翻手册