358|1

1459

帖子

2

资源

纯净的硅(高级)

【RISC-V MCU CH32V103测评】CH32V103C8T6芯片初印象 [复制链接]

拿到EEWORLD寄过来的RISC-V内核的开发板之后,我先做了一个点亮LED的实验,基本上比较顺利,能够看到LED正常的闪亮。说明芯片的引脚驱动能力还算不错。江苏沁恒公司在国内接口芯片市场是做的比较好的一家公司。我想整颗芯片应该是没有问题的吧。因为没有全面的测试所以不敢下结论:整个芯片的所有引脚都正常。但就这个实验来说是没有问题的。

image.png 从上面的图可以看出这颗芯片的总线和ARM的结构使用的是相同的结构,那就是说RISC的外设编程也应该是差不多的。继续探索可以发现系统的时钟树也是相似的。

image.png

从图中可以看出来系统的主时钟HSI和实时RTC时钟是分开的。系统中有内部 8MHz 的 RC 振荡器作为默认的 CPU 时 钟。系统时钟源 HSI 默认开启,在没有配置时钟或者复位后,内部 8MHz 的 RC 振荡器作为默认的 CPU 时钟,随后可以另外选择外部 4~16MHz 时钟或 PLL 时钟。当打开时钟安全模式后,如果 HSE 用作系统时 钟,此时检测到外部时钟失效,系统时钟将自动切换到内部 RC 振荡器,同时 HSE 和 PLL 自动关闭;对于关闭时钟的低功耗模式,唤醒后系统也将自动地切换到内部的 RC 振荡器。如果使能了 时钟中断,软件可以接收到相应的中断。从上文的描述可以看出:系统在启动时是能够配置是否可以使用外部时钟源的。这个设计和ARM的设计是一样的。

所以在编程时,可以通过配置PLL参数来给总线时钟设定工作频率。由此可以猜测系统初始化的过程:

1、设置是否使用外部时钟源HSI

2、根据时钟源的频率,设定PLL的系数。也就设定了总线的工作频率,当你搞定时钟设置后,就可以设置外设了。

3、根据PLL的参数可以计算出总线的工作率,从而设置定时器、USB、UART、SPI、I2C、PWM、ADC、DAC等外设的工作频率。

4、设置各种外设的其它工作参数就可以了。

5、设置外设的引脚和工作状态。

但是当我打开程序模板时发现是这样的。

 int main(void)
{
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
    Delay_Init();
	USART_Printf_Init(115200);
	printf("SystemClk:%d\r\n",SystemCoreClock);

	printf("This is printf example\r\n");

	while(1)
  {

	}
}

啊代码这么少,惊讶!哦这么简单看来我是多虑啦。

 

 

 

 

 


回复

45

帖子

0

资源

一粒金砂(中级)

在我的帖子里,有详细的过程。他启动汇编里调用了系统初始化函数。


回复
您需要登录后才可以回帖 登录 | 注册

最新文章 更多>>
    关闭
    站长推荐上一条 1/8 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2021 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表