使用STM32CubeMX生成一个标准工程,记得修改要更改的外部晶振,我这里是从原本的8MHz改成25MHz所以我这里要生成的工程的频率就修改为25MHz 打开工程过后再main文件中找到这段代码复制下来 /*** @brief System Clock Configuration* @retval None*/void SystemClock_Config(void){RCC_OscInitTypeDef RCC_OscInitStruct ...
定时器有硬件定时器和软件定时器之分: • 硬件定时器是芯片本身提供的定时功能。一般是由外部晶振提供给芯片输入时钟,芯 片向软件模块提供一组配置寄存器,接受控制输入,到达设定时间值后芯片中断控制 器产生时钟中断。硬件定时器的精度一般很高,可以达到纳秒级别,并且是中断触发 方式。 (就是板子上的晶振) • 软...
第一个问题 主频太低不行,比如使用外部晶振8M时会发现at命令的返回收到的数据不完整,是由于处理器太慢和rt-thread 系统处理工作较多导致,测试发现至少16M主频以上才能良好运行 第二个问题 频繁通过串口发送数据时经常死机,仿真调试发现死机在下面等待标志的地方,主频越低越容易发生,当主频高的时候几率很小 1staticint...
Input frequency这个是根据板载的外部高速晶振来设置的,具体板子具体设置。 PLL的信号来源我们这里选择HSE(外部高速时钟),不选择HSI(内部高速时钟)是由于HSI时钟信号是由RC振荡电路产生的精度相对较差,而HSE时钟信号是由石英晶体产生精度相对而言更高,所以选择HSE。 后面灰色框内的M、N、P是PLL(锁相环)的分频倍频参数...
3.生成的工程使用内部时钟(在drv_clk.c文件中),往串口输出信息,这个工程可以直接编译下载到芯片中校验工程的正确性。 (二)使用CubeMX生成时钟配置和外设配置 1.在CubeMX中选择使用的STM32F103VE芯片创建工程 2.选择RCC项为外部高速时钟为晶振;选择USB项打开使能,选择USB的IP包;设置时钟频率,主时钟设置为73Mhz,USB...
硬件:正点原子阿波罗F429开发板,主控STM32F429IGT6,晶振25MHz。 软件:RT-Thread Studio RT-Thread版本:4.1.0 1.创建工程 根据所使用的硬件信息,配置以上信息,注意红色框中的建议内容:工程用的是内部时钟,通常我们用的是外部时钟,需要修改drv_clk.c文件。
选择左侧的 CLOCKS 选项卡,开始配置时钟。这里以内部晶振作为时钟源为例,配置完成后如下图所示,最终生成 48MHz 的时钟给到 CPU。 具体来说,勾选时钟发生器 0 和 1,generator 1 选择 32kHz 内部晶振(OSCULP32K)作为时钟源,并作为 DFLL48M 数控频率锁定环的输入,然后 generator 0 选择 DFLL48M 作为时钟源,并...
1.1.1 时钟源的选择 RT-Thread Studio创建好的工程默认使用的是内部的低速晶振作为时钟源,...
使用外部高速时钟,时钟源晶振8MHz,系统时钟72MHz 【2】entry入口 int entry(void) { rtthread_startup(); return 0; } 3.2.2、rtthread_startup函数 int rtthread_startup(void) { rt_hw_interrupt_disable(); //关硬件中断 /* * board level initialization */ rt_hw_board_init(); /* show RT-...
再次编译,下载,可以看到板载蓝色LED开始闪烁。 5. 使用外部晶振时钟 使用RT-Thread Studio基于芯片创建的工程全部使用内部时钟HSI,要使用外部晶振时钟HSE,在board.c中修改SystemClock_Config函数,这里我修改如下: 再次编译下载,可以看到现象和之前使用HSI时候的现象一致。