历史上的今天
今天是:2024年10月09日(星期三)
2021年10月09日 | STM8S学习笔记-时钟控制1
2021-10-09 来源:eefocus

1.图13可见,STM8S单片机主要有四种时钟源可供选择:
1).1-24MHz外部晶体振荡器(HSE).
2).最大24MHz外部时钟(HSE ext).
3).16MHz高速内部RC振荡器(HSI).
4).128KHz低速内部RC振荡器(LSI).
2.主时钟可以从这四种时钟源中任意切换,切换过程可通过自动切换和手动切换。
自动切换过程:使能相应的时钟源,使能切换,等待切换完成。
例如:从HSI切换到外部HSE,子程序如下:
void CLKToHSE(void)
{
while(!(CLK_ECKR&0x02)); //等待HSE就绪
CLK_ECKR |= 0x01; //使能HSE
CLK_SWCR |= 0x20; //使能切换
CLK_SWR = 0xB4; // (0xE1----HSI )
// (0xD2 ----LSI)
//(0xB4----HSE)
while(!(CLK_SWCR&0x01)); //等待时钟切换完成
CLK_ICKR &= ~0x01; //关闭HSI
}
手动切换:
手动切换和自动切换差不多,只是要等待时钟稳定后进行切换。
例如,HSI切换至内部LSI,子程序如下:
void CLKToLSI(void)
{
while(!(CLK_ICKR&0x10)); //等待LSI就绪
CLK_ICKR |= 0x08; //使能LSI
CLK_SWR = 0xD2; // (0xE1----HSI)
// (0xD2 ----LSI)
// (0xB4----HSE)
while(!(CLK_SWCR&0x08));
CLK_SWCR |= 0x20; //使能切换
CLK_ICKR &= ~0x01; //关闭HSI
}
3.时钟分频
HSI可通过CLK_CKDIVR的HSIDIV[1:0]分频。可选择分频因子1,2,4,8。
CPU时钟又可以通过CLK_CKDIVR的CPUDIV[2:0]分频。可选择分频比1,2,4,8,16,32,64,128。
外设时钟可通过CLK_PCKENR1,CLK_PCKENR2选择使能或关闭,复位情况下默认外设时钟全部打开,不熟悉的情况下,可以选择默认,以防没有配置时钟而无法使用外设。关闭不必要的外设可以降低系统功耗。
另外还有时钟安全系统CSS,时钟输出,时钟中断,SWIM时钟控制,HSI时钟校准等,下次再讨论吧。
上一篇:STM8L时钟切换详解
史海拾趣
|
用的PXA270和USI的无线网卡 8686芯片组 接口用的SPI 通过打印信息看总是在读取芯片ID时候出错: Chip(exp, val)= (000bh), ffffh) //期望是000B ,实际FFFF pxa_gspi_Init is fault !!!!!!!!!!!!! If_Initialize is fault !!!!!!! ...… 查看全部问答> |
|
让eboot可以通过usb下载NK,有兄弟已实现的吗?给点提示吧! 我用的是nboot+eboot的启动方式,在网上也看了一些资料.问题主要出在中断上. 现在是按照下面的方法: eboot直接修改地址0x18的中断跳转指令,将它指向新的地址,指向自己的中断服务程 ...… 查看全部问答> |
|
请问,pxa270 烧写wince 5时不能烧写至nand flash 请问,pxa270 烧写wince 5时不能烧写至nand flash: 出现以下错误: INFO: FlashErase: erasing flash A6600000 to A7C3FFFF. Please wait... ................................................................................ .... ...… 查看全部问答> |
|
STM32的SPI1DMA通道读取SPIflash,有若干细节问题处理及讨论 程序实现结果: 用stm32的一个SPI,用DMA方式读取spi flsh中的内容,然后将读到的数据用usart1 dma发到PC上,baud:115200; 选用的FLASH:W25X40 4M bit 电路接法: stm ...… 查看全部问答> |
|
请教,我采用的是STM32F051的片子,想加入IAP的功能,但是发现程序可以从IAP跳转到APP,可是跳转之后APP的外部中断无法进入,但是APP的定时器中断是OK的,主函数的运行也是正常的,就是无法响应外部中断。不使用IAP跳转的时候APP是完全正才的。 参 ...… 查看全部问答> |
|
以我的OK210开发板为例,介绍如何新建和修改ce6下的gpio驱动 只要按照步骤执行下去,即可建立一个新的GPIO驱动。并做如何修改GPIO驱动介绍。完成驱动开发的准备工作。 硬件平台:飞凌OK210 操作系统:飞凌光盘中的BSP,Win CE6.0 编译工具:VS2 ...… 查看全部问答> |




