CH32V208和CH582都是沁恒的支持BLE5.0+的MCU,下面介绍两者的区别。
选型方面:
①CH32V208比CH582的ram和零等待flash更多。使用CH582,对速度有要求的代码,需要放到ram中运行;使用V208,对速度有要求的代码可以放到零等待flash中,不会占用ram的资源,V208的零等待falsh和ram都跑主频。
②CH32V208的主频更高,CH582的ram一般跑在60MHz,可以跑到80MHz;V208可以跑到144MHz。
②低功耗方面,sleep模式的休眠底电流,V208的是 1mA+,CH582是几个uA。
③V208相比CH582,少一个32位的记录天数的RTC寄存器,做低功耗万年历时没有CH582方便。
④V208的接口种类比CH582多了CAN总线和有线以太网接口。
⑤V208使用脱机烧录器,支持UART、USB、SWD烧录三种烧录方式;CH582使用脱机烧录器烧录,仅支持UART和USB两种烧录方式。
代码使用方面:
①CH582的代码风格和CH32V208的代码风格不同。V208的代码风格更偏向于32系列,熟悉STM32的用户会上手更方便;CH582的代码对GPIO初始化等代码做了精简,上手也很简单。
②V208的BLE+ADC同时运行时,在TMOS事件中需要重新初始化ADC;如果不需要休眠,BLE协议栈的温度校准需要对ADC模块重新配置,可能会影响用户期望的ADC采样配置,如有冲突,需要在HAL_GetInterTempValue函数尾部重新初始化ADC。CH582的BLE+ADC同时运行,启用休眠唤醒后,需要在TMOS事件中重新选择ADC信道。
③RF_PHY代码中,V208的RF_2G4StatusCallBack回调函数,是在中断中调用的,关键变量注意加volatile修饰,另要有tx_end_flag帮助判断发包已完成,这一点和CH592一样;CH582的RF_2G4StatusCallBack函数没有在中断中调用,不用考虑volatile修饰变量。
标签:芯片,代码,ram,CH32V208,ADC,CH582,V208 From: https://www.cnblogs.com/JayWellsBlog/p/17703372.html