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;           //使能外部时钟            */}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
503126063
1楼-- · 2019-07-19 22:01
 精彩回答 2  元偷偷看……
abctxc
2楼-- · 2019-07-19 23:55
嘴角的上弦月
3楼-- · 2019-07-20 05:32
楼主有这分享学习的想法真的很伟大啊~话说,最近有没有再研究中断之类的呢?我刚发现寄存器版本的中断向量号 和 库函数版本的中断向量号好像不一致啊,我直接复制了库函数版本对应的中断向量号,但貌似总是不进中断啊

一周热门 更多>