完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
简介
CH32F103C8T6对标的是意法半导体的STM32F103C8T6,为保证兼容性,架构基本一致。因为内核一样,目前本人看手册仅发现在外设上进行了增删,总体上和ST结构类似。芯片的手册里的管脚定义也兼容ST芯片。 寄存器、存储器地址映射,这个决定了芯片外设是否兼容,能否可以使用st官方驱动库。不一样的地方、或者有增强的地方、或者省去的地方都可以一目了然,并且按照变化来增加或者删减相关配置。比较后可以看出,基本外设地址都是一致的,部分的器件有功能的增加和减少,这也意味着绝大多数的功能是可以兼容的,但用到一些特定的功能时,需要参考官方例程或者库,或者移植寄存器地址设置。例如CH公司在地址0x4002 3400处增加了自己的USBHD地址映射,这是其他芯片没有的,加之其自有的BOOT,所以能够轻松实现USB下载固件。 系统资源 Cortex-M3内核,72MHz系统主频; 单周期乘法和硬件除法; 20KB SRAM,64KB CodeFlash; 供电范围:2.7V-5.5V,GPIO同步供电电压; 多种低功耗模式:睡眠/停止/待机; 上电/断电复位(POR/PDR); 可编程电压监测器(PVD); 7通道DMA控制器; 12位模数转换ADC,1us转换时间; 16路TouchKey通道检测; 12位数模转换DAC; 7个定时器; 1个USB2.0 FullSpeed主机/设备接口(全速和低速); 1个USB2.0 FullSpeed设备接口(全速和低速); 1个CAN控制器(2.0B主动); 2个I2C接口(支持SMBus/PMBus); 3个USART接口; 2个SPI接口(支持Master和Slave模式); 51个I/O口,所有IO口都可以映射到16个外部中断; CRC计算单元,96位芯片唯一ID; 串行单线调试(SWD)接口; 封装形式:LQFP64M、LQFP48、QFN48。 串口下载方式 下载前安装WCHISPTool软件, USB转TTL串口模块与CH32接线如下:Rx—>A9、Tx---->A10、GND–>G、VCC–>3.3,boot0跳线帽置为高电平 下载前若下载选项不能点击,请点选下接触保护选项,有时下载不成功重启下软件。选择一个编译好的STM32F103C8T6的hex文件,PC13闪灯程序。下载完成后boot0设置回低电平,按下复位键观察灯在闪烁,说明程序在运行。 USB下载 CH32F103有2个USB,分别为: 主机HUSB: PB7------>D+、PB6------>D- 设备USB: PA12----->D+、PA11----->D- boot0跳线帽置为高电平,软件默认下载使用HUSB。核心板上使用的是设备USB,因此需要另外接USB线 下载前若下载选项不能点击,请点选下接触保护选项,有时下载不成功重启下软件。选择一个编译好的STM32F103C8T6的hex文件,PC13闪灯程序。下载完成后boot0设置回低电平,按下复位键观察灯在闪烁,说明程序在运行。 使用ST-LINK(SWD等仿真工具),MDK编译软件下载 安装MDK的CH32F1xx器件安装包 安装完后能在MDK器件选项卡里面看到器件型号 使用SWD接口接线,SWCLK和SWDIO,boot0跳线帽置为低电平 打开PC13闪烁的MDK工程文件,进行相应的设置 Debug选择好下载器的型号,在flash download选项里面添加CH32F1xx的算法 下载接口Port选择SW,可以看到Arm内核 编译并下载工程文件到核心板 总结 CH需要安装器件库包,还需要添加自己的算法,这样在MDK里才可以正常下载,特有的bootloader和ST不一样,也支持串口和u***下载。另外还有其他几款类似的对标ST的芯片如GD32F103c8t6(北京兆易创新)、APM32F103c8t6(珠海极海)、HK32F103c8t6(深圳航顺)、CKSF103c8t6(无锡中科芯)。 GD32、APM32可以用串口通过STM32CubeProgrammer软件下载,其它几种不可以,说明GD32和APM的BootLoader是和STM32兼容的。GD32、APM32、HS32、CSK32可以用ST-LINK下载器通过MDK或STM32CubeProgrammer软件下载,CH32不可以,CH32的flash算法和ST不兼容。 |
|
|
|
只有小组成员才能发言,加入小组>>
imx6ull 和 lan8742 工作起来不正常, ping 老是丢包
2433 浏览 0 评论
3341 浏览 9 评论
3021 浏览 16 评论
3514 浏览 1 评论
9118 浏览 16 评论
1242浏览 3评论
635浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
627浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2373浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1936浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-23 07:12 , Processed in 0.956699 second(s), Total 47, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号