分享

单片机初始化软件代码,拷过去就能用,STM8的

 岐岐feng 2018-08-20

单片机初始化软件代码,拷过去就能用,STM8的,必须收藏

这只是个封面,正文在下面

本人对单片机已经执着了十多年,做过的单片机项目不计其数,内心深处总是有一股给大家分享技术经验的冲动。

这次给大家呈现的是STM8S003单片机软件开发必须有的初始化软件代码,已经都替你调试好了,已经在批量产品中用上了,拷过去就能用了,你还等什么? 赶 紧 收 藏 啊!

#include 'stm8s.h'

#include 'stm8s_clk.h'

#include 'stm8s_gpio.h'

static void MCU_PORT_Init(void);

static void MCU_CLK_Init(void);

static void MCU_SYS_Init(void);

static void IWDG_Config(void);

void MCU_Init(void)

{

MCU_PORT_Init();

MCU_CLK_Init();

MCU_SYS_Init();

}

static void MCU_PORT_Init(void)

{

GPIOA->CR2 = 0x00;

GPIOA->ODR = 0x00;

GPIOA->DDR = 0x04;

GPIOA->CR1 = 0xFF;

GPIOA->CR2 = 0x00;

GPIOB->CR2 = 0x00;

GPIOB->ODR = 0x00;

GPIOB->DDR = 0x00;

GPIOB->CR1 = 0xFF;

GPIOB->CR2 = 0x00;

GPIOC->CR2 = 0x00;

GPIOC->ODR = 0x00;

GPIOC->DDR = 0xE0;

GPIOC->CR1 = 0x1F;

GPIOC->CR2 = 0x00;

GPIOD->CR2 = 0x00;

GPIOD->ODR = 0x00;

GPIOD->DDR = 0x18;

GPIOD->CR1 = 0xDF;

GPIOD->CR2 = 0x00;

}

static void MCU_CLK_Init(void)

{

//4分频, fmaster=4MHz

CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV4);

CLK_HSICmd(ENABLE);

while (CLK_GetSYSCLKSource() != CLK_SOURCE_HSI){;}

CLK_LSICmd(ENABLE);

while (CLK_GetFlagStatus(CLK_FLAG_LSIRDY) = RESET){;}

}

static void MCU_SYS_Init(void)

{

IWDG_Config();

}

void IWDG_Config(void)

{

IWDG_Enable();

IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);

IWDG_SetPrescaler(IWDG_Prescaler_128);

IWDG_SetReload(249);

IWDG_ReloadCounter();

}

void main(void)

{

MCU_Init();

enableInterrupts(); /* enable interrupts */

for(;;)

{

IWDG_ReloadCounter(); /* feeds the dog */

/* 此处添加你自己的应用软件代码或函数 */

}

}

附:STM8S003单片机最小系统原理图

单片机初始化软件代码,拷过去就能用,STM8的,必须收藏

没看懂?在下面留言吧,放心,我会回复你的。后面我还会逐步分享更多的干货,别急,慢慢来。

结束语:单片机学习其实就是入门稍微难一点,但如果懂了C语言,又有微机原理基础,学起来其实不会难。虽然世界上的单片机有上千种,但我们不需要把每一种都学会,只需要学会一种,以后学第二种就很容易上手了。

可能很多单片机初学者在起步编写第一个单片机程序时会难以下手,建议大家在起步阶段直接拷贝一些现成的程序,让单片机先跑起来再说,然后再细细琢磨每一条语句,再然后就可以开发自己的单片机程序了。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多