STM8S003F3的寄存器操作函数,希望大家多凑凑。

2019-07-19 20:46发布

因发现STM8S003F3只有8K的flash。要是用库函数的话,相对程序要大很多。所以准备分享寄存器控制函数来实现每个硬件的基本驱动。备上注解。直接贴到自己的main.c里就能用了。

第一个主时钟控制
时钟控制函数,放了三种时钟,基本够用了,31释放注释就行。void CLK_Init(void){         /*默认单片机复位后内部高速时钟HSL/8=2M为主时钟*/         CLK_CKDIVR|=(unsignedchar)0x00;     //设置内部高速时钟16M         //CLK_CKDIVR|=(unsignedchar)0x08;   //设置内部高速时钟8M         /*使用外部晶振将下面的代码放出来,晶振最大24M*/         /*         CLK_ECKR|=0x1;           //开启外部时钟    while(!(CLK_ECKR&0x2));  //等待外部时钟    CLK_CKDIVR &= 0xF8;      //CPU无分频    CLK_SWR = 0xB4;            //选择外部时钟    while(!(CLK_SWCR&0x8));    CLK_SWCR |=0x2;           //使能外部时钟            */}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。