木子剑
生命不熄,学习不止!

本人领悟的,也一直在使用,感觉真的方便又好用。

我们在编写main.c代码时,其实可以先建一个main.h头文件,当要增加新驱动时,只要编写在main.h就可以了,

这样会使得main.c非常的清爽、简洁,比如我的main.h其中一部分

#include "stm32f10x_i2c.h" //ST的I2C库
#include "stm32f10x_gpio.h"//ST的GPIO库
void I2Cx_Config(void)
{  
  /*-----------------I2C1的配置------------------*/
  I2C_DeInit(I2C1);//I2C1恢复成默认值   
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1, ENABLE);//打开I2C1外设时钟
  
  I2C_InitTypeDef I2C_InitStruct = {//预设I2C1外设的6个参数
                                    100000,                       //1...时钟100KHZ
                                    I2C_Mode_SMBusHost,           //2...主模式
                                    I2C_DutyCycle_2,              //3...2比1占空比
                                    0xf0,                         //4...指定第一个设备自己的地址(从机)。
                                    I2C_Ack_Enable,               //5...启用或禁用确认
                                    I2C_AcknowledgedAddress_7bit};//6....指定是否确认7位或10位地址。                                     
  
  I2C_Init(I2C1, &I2C_InitStruct);//将预设参数初始化到I2C1
  I2C_Cmd(I2C1, ENABLE);          //使能I2C1
  
  /*-----------------I2C1用到的PIN配置------------------*/
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);               //0 打开GPIOB的外设时钟
  
  GPIO_InitTypeDef GPIO_InitStructure2 = {//预设GPIOB外设的3个参数 
                                           GPIO_Pin_6|GPIO_Pin_7,     //1 参数PIN6、7
                                           GPIO_Speed_10MHz,          //2 参数10M速度           
                                           GPIO_Mode_AF_OD };         //3 参数AF_OD复用模式
  
  GPIO_Init(GPIOB, &GPIO_InitStructure2);                             //将3个参数初始化到GPIOB  
}

 

然后在main.c中加入main.h

#include "main.h"
int
main(void) { unsigned int t; //计数变量 USARTx_Config(); //初始化USARTx I2Cx_Config(); //初始化I2C1 GPIOx_Init(); //初始化GPIOX NVIC_Configuration(); //初始化中断嵌套 while(1) { printf("控制值:%d\n",t); //打印出来,方便进行查看 t=t+1; //假设这是数值 __NOP(); //断点 } }

 

看过UCOS II的伙计们应该会发现,其实它这个OS也类似这样的,说明这个思路非常好用的。

但是这个main.h只能给main.c包含使用,假如有定义了变量什么的,其他文件也包含的话,

一定会报错duplicate definitions for IAR报错,伙们们,要小心点哦。

 

posted on 2019-08-26 23:22  木子剑  阅读(617)  评论(0编辑  收藏  举报