c语言输出字符串改asck,stm8s的c语言编程例程.doc
stm8s的c语言编程例程
实例一:控制灯的亮灭(或者蜂鸣器响,只要连接相应端口就可以了):
#include "stm8s.h"//头文件
#define ulong unsigned long
///
void delay(ulong i)
{ulong j;
for(j=0;j
{;}
}延时函数
void main(void)主函数
{
GPIO_DeInit(GPIOD);
GPIO_Init(GPIOD, GPIO_PIN_1, GPIO_MODE_OUT_PP_LOW_FAST);
while(1)
{
GPIO_WriteHigh(GPIOD, GPIO_PIN_1);
delay(10000);
delay(10000);
delay(10000);
GPIO_WriteLow(GPIOD, GPIO_PIN_1);
delay(10000);
delay(10000);
delay(10000);
}
}
第二步:控制灯按照一定的频率闪烁:频率可以使用时钟!
Stm8启动时,主时钟默认为HSIRC时钟的8分频,HSIRC是可以提供一个低成本的16MHz时钟源,
#include "stm8s.h"//头文件
void CLK_Configuration(void);
void main(void)主函数
{
GPIO_DeInit(GPIOD);
GPIO_Init(GPIOD, GPIO_PIN_1, GPIO_MODE_OUT_PP_LOW_FAST);
CLK_Configuration();
while(1)
{
GPIO_WriteReverse(GPIOD, GPIO_PIN_1);
}
}
void CLK_Configuration(void)
{
/* Fmaster = 16MHz */
CLK_HSIPrescalerConfig( CLK_PRESCALER_HISDIV1);
}
例题三:灯闪亮的同时蜂鸣器响
#include "stm8s.h"//头文件
#define ulong unsigned long
///
void delay(ulong i)
{ulong j;
for(j=0;j
{;}
}延时函数);
void main(void)主函数
{
GPIO_DeInit(GPIOD);
GPIO_DeInit(GPIOB);
GPIO_Init(GPIOD, GPIO_PIN_1, GPIO_MODE_OUT_PP_LOW_FAST);
GPIO_Init(GPIOB, GPIO_PIN_0,GPIO_MODE_OUT_PP_LOW_FAST );
while(1)
{
GPIO_WriteHigh(GPIOD, GPIO_PIN_1);
delay(10000);
delay(10000);
GPIO_WriteLow(GPIOD, GPIO_PIN_1);
delay(10000);
delay(10000);
GPIO_WriteHigh(GPIOB, GPIO_PIN_0);
delay(10000);
delay(10000);
GPIO_WriteLow(GPIOB, GPIO_PIN_0);
delay(10000);
delay(10000);
}
}
时钟控制器功能强大而且灵活易用。其目的在于使用用户在获得最好性能的同时,亦能保证消耗的功率最低。
用户可以独立管理各个时钟源,并将它们分配到CPU或者各个外设。主时钟和CPU的时钟均带有分频器。
主时钟源:
四种时钟源可以作为主时钟源:
1.1—24MHz高速外部晶体振荡器(HSE)
2.最大24MHz高速外部时钟信号(HSE user-ext)
3.16MHz高速内部RC振荡器(HSI