嵌入式C语言自定义标准

嵌入式C语言自定义标准

文件夹架构:

  1. nano版本:
    ┖ Project
    ……
    ┖ Code
    userMain.c
    userConfig.h
    modEc20.c
    modEc20.h
    ……
    ┖ Lib
    userFrame.lib
    userFrame.h
    ……
    ┖ Doc
    readMe

  2. 标准版本:
    ┖ Project
    ……
    ┖ User
    ┖ userMain
    userMain.c
    userConfig.h
    ┖ userHandle
    userHandle.c
    userHandle.h
    ……
    ┖ App
    ┖ appRemote
    AppRemote.c
    AppRemote.h
    ……
    ┖ Module
    ┖ modEc20
    modEc20.lib
    modEc20.h
    ┖ modW5500
    modW5500.c
    modW5500.h
    ……
    ┖ Driver
    ┖ drvGpio
    drvGpio.c
    drvGpio.h
    ……
    ┖ Libraries
    固件库
    ┖ Doc
    readMe

文件内容详解:

  1. Project:包含所有工程文件、可执行bin、hex等等;
  2. App:包含appRemote(通信类)、appState(状态检测类)、appParam(参数类)、appAction(动作类)、appDisplay(显示类);
  3. Module:包含所有模块的驱动程序;
  4. Driver:包含所有和MCU相关的接口驱动程序;
  5. Doc:包含文件版本记录,工程文档引导;

对象构建:
typedef strcut{
void (*Init)(); //该对象的操作函数
……
uint32_t State; //该对象的状态变量
……
}APPSTATE_StructTypeDef;

APPSTATE_StructTypeDef appState = {
.Init = function1,
……
.State = 0,
……
};

变量
函数内部:
static类:s_<变量类型 例:u8 u16 u32 i8 i16 i32><序号 例:0 1 2>tmp;
auto类:a
<变量类型 例:u8 u16 u32 i8 i16 i32>
<序号 例:0 1 2>tmp;
函数外部:
建立在结构体内部 例:appState.State;
其他:由于指针的存在,需要特别处理,指针增加p
,例:s_u8_p_0_tmp,appState.p_State;

宏定义
全部大写
#define <文件名>_<变量名> <被定义内容>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值