新手上路
- 积分
- 34
- 金钱
- 34
- 注册时间
- 2016-9-19
- 在线时间
- 10 小时
|
1金钱
我C语言比较差,最近才开始学习,希望大家多指点,像正点原子的小实验我相信一般人都看的明白,我也大体看明白了(还需要不断的去熟悉,毕竟才开始学),现在有这个问题希望大家可以帮到我: 很多实际的做产品的列子肯定不是这么短短几行,对于很复杂的程序不可能都是在main函数内实现的吧(除初始化函数外),如果这样难度也太大了,那如果不是都在main函数中实现,那又应该怎么实现啊??比如正点原子的实验1和实验2,怎么采用模块化式的设计???对于大型的程序编写采用独立模块化的设计肯定比都写在main函数中容易。
实验1的C语言程序:
int main(void)
{
Stm32_Clock_Init(9);
delay_init(72);
LED_Init();
while(1)
{
LED0=0;
LED1=1;
delay_ms(300);
LED0=1;
LED1=0;
delay_ms(300);
}
}
实验2
int main(void)
{
Stm32_Clock_Init(9); //Ïμí3ê±ÖóéèÖÃ
delay_init(72); //Ñóê±3õê¼»ˉ
LED_Init(); //3õê¼»ˉóëLEDᬽóμÄó2¼t½ó¿ú
BEEP_Init(); //3õê¼»ˉ·äÃùÆ÷¶Ë¿ú
while(1)
{
LED0=0; //μãááDS0
BEEP=0; //1رշäÃùÆ÷
delay_ms(300);
LED0=1; //1رÕDS0
BEEP=1; //′ò¿a·äÃùÆ÷
delay_ms(300);
}
}
如果只是简单的把这2实验和到一个main函数中,我相信看过了实验的都会哈,主要我想知道的是怎么模块化合成一个,下面这个是不成功的列子,问题出在哪请大家指点:
int LEED(void)
{
Stm32_Clock_Init(9);
delay_init(72);
LED_Init();
while(1)
{
LED0=0;
LED1=1;
delay_ms(300);
LED0=1;
LED1=0;
delay_ms(300);
}
}
int main(void)
{
Stm32_Clock_Init(9);
delay_init(72);
LED_Init();
BEEP_Init();
while(1)
{
BEEP=0;
delay_ms(300);
BEEP=1;
delay_ms(300);
}
}
|
|