历史上的今天
今天是:2024年11月23日(星期六)
2019年11月23日 | STM8S105S4_PKT学习笔记(1) LED灯
2019-11-23 来源:eefocus
工程框图:

环境:STVD + Cosmic
程序:
#include "STM8S207S6.h"
void Delay(unsigned int count)
{
while(count--);
}
void Gpio_Init(void)
{
PD_DDR |= 0x0D;
PD_CR1 |= 0x0D;
PD_CR2 |= 0x00;
}
void Clock_Init(void)
{
CLK_SWCR |= 0x02;//使能切换机制
CLK_ECKR |= 0x01;//外部晶振使能
while(!(CLK_ECKR & 0x02));//等待HSE准备就绪
CLK_SWR = 0xB4;//选择HSE为主时钟
CLK_CSSR |= 0x01;//时钟安全系统使能
}
main()
{
Clock_Init();
Gpio_Init();
while (1)
{
PD_ODR = 0x0D;
Delay(50000);
PD_ODR = 0x00;
Delay(50000);
}
}
我的这块板子的主芯片是STM8S207S6,反正都是STM8S系列的
上述程序,没有Clock_Init()函数程序也可以运行,只不过LED灯闪烁的频率会比现在低。手册上说:启动时,主时钟源默认为HSI的8分频,即HSI/8=2MHZ
程序中Clock_Init()函数的作用是将主时钟源切换为外部晶振(HSE),这里板子上接的外部晶振为8MHZ,所以用外部晶振作为时钟源是LED的闪烁频率会比用HSI/8作为时钟时的频率高。这里时钟切换采用是自动切换,并且使能了时钟安全系统,(当HSE失效时,HSI/8作为备用时钟源),验证的方法是程序运行了,将外部晶振拔掉,会看到LED闪烁的频率有明显的变化
上一篇:记录使用stm8s的一些问题
史海拾趣
|
用单片机完成LED旋转的电子表的设计是我的毕业设计,看了看网上的帖子,还是有很多的不明白。要哪位老大有制作流程详细的截图或视频,有会做的加我QQ 965053371 :\'( :\'(… 查看全部问答> |
|
我用的是s3c2440的板子,要通过usb口烧入wince5.0的内核 现在的问题是:单接串口在DNW里有输入,但没有启动信息。再接上usb线,就有了启动信息,但却不能输入‘空格’,使其在进入系统前停下,显示选项。 这是为啥啊,因为和pc机通信是串口的事, ...… 查看全部问答> |
|
请教高手,我使用AMD LX800的PC/104 CPU模块 。堆叠2个串口模块,1个CAN模块和1个20路输出的继电器模块。想问:已知CPU模块的104总线上每线路能够产生8mA的驱动电流,我不明白的是,其他模块所需的被驱动电流的大小取决于什么芯片? … 查看全部问答> |
|
BeagleBone集成了LCD控制器,结构图如下: 我正好有一块5.6寸的1280*800分辨率的LCD显示模块,就地取材用这个作为BEAGLEBONE的显示器。 LCD显示模块型号是LTD056EV7F,体积 ...… 查看全部问答> |
|
只要一用那个函数就报错 ./lnk_msp430g2553.cmd\", line 56: error #10099-D: program will not fit into available memory. run placement with alignment fails for section \".bss\" size 0x302 .  ...… 查看全部问答> |
|
焊接SSOP28封装的焊盘, 一焊就掉 是我的焊功问题呢? 我焊的时候想着先往焊盘上拉一层锡, 再贴片, 结果直接焊盘就掉了, 掉的很多, 连走线都一起翻转了 还是我做pcb layout问题? &n ...… 查看全部问答> |




