You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
123 lines
3.6 KiB
123 lines
3.6 KiB
/*****************************************************
|
|
*============================================================================
|
|
* HISTORY
|
|
* Below this line, this part is controlled by TSTS. DO NOT MODIFY!!
|
|
伪时间片嵌入式平台(Task Step by Step Turn by Turn Structure,简称TSTS)
|
|
*============================================================================
|
|
****************************************************************************/
|
|
|
|
#ifdef D_reame_first_before_use_TTSS
|
|
//任务命名规则:
|
|
// 1:第一层
|
|
/// 0驱动芯片级 flash
|
|
/// 1芯片应用级 save
|
|
/// 2任务应用级 jilu_save
|
|
//
|
|
// 2:第二层/flash/i2c/7290/等各类芯片
|
|
// 3:任务序号/不同的芯片/
|
|
//
|
|
|
|
命名规范
|
|
1,函数命名规范
|
|
D_xxxx 宏定义
|
|
Lx_driver_function
|
|
| | |
|
|
| | |-函数功能
|
|
| |
|
|
| |-驱动器件名称
|
|
|
|
|
|-第几层的函数
|
|
|
|
第几层的函数:
|
|
LD 为了兼容和易读 定义的宏定义 基本上和寄存器或者管脚打交道的
|
|
|
|
L0 基本上和寄存器或者管脚打交道的函数
|
|
L1 基本上和寄存器或者管脚打交道的函数
|
|
L2 调用L1的函数
|
|
L3 调用L2的函数
|
|
|
|
|
|
头函数的引用原则: 高Layer调用低Layer
|
|
设计模式 :每个设备或者任务都有自己的属性
|
|
程序是由多个流程组成:
|
|
1,中断类的的内置特殊流程,由cpu内核调度
|
|
2,底层驱动级别的流程,简单的直接就是多个函数调用即可,复杂的需要专门写流程实现,甚至需要和中断类的流程相互配合
|
|
3,协议通讯,驱动模式等复杂驱动的流程,例如2.4g模块的不同模式设置下的数据流控制流程
|
|
3,功能实现的应用级别的流程,在设备模式等设置好的前提下,主要实现应用层次的工作,
|
|
多流程工作要点 : 需要画多流程并行的流程图,并结合数据流.
|
|
|
|
|
|
update by cc @20220307
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
clib/clib.c:
|
|
公用的函数 和硬件无关
|
|
放置串行模式(串口等其他通讯总线类的输出)输出的函数,
|
|
一些覆盖模式输出的(lcd等固屏输出的)的也可使用
|
|
void Lc_print(void (*L0pf_send_uc)(char ww), char *dat,...)
|
|
-----------------------------------------------------------------------------------------
|
|
|
|
app
|
|
|
|
asp
|
|
|
|
bsp
|
|
|
|
|
|
debug
|
|
|
|
-----------------------------------------------------------------------------------------
|
|
|
|
-----------------------------------------------------------------------------------------
|
|
tpc/: 接收到的数据放入到指向特定协议的缓存中,和协议的格式有关 一般分为 标头式或者标尾式
|
|
公用的串口通讯定义
|
|
struct _s_uart_rec_ 的公共协议包(关键的结构体)的声明------struct _s_uart_rec_
|
|
void L1_uart_2buf(struct _s_uart_rec_ *p)串行数据保存到指向特定协议的缓冲中
|
|
--------------------------------------------------------------------------------------------
|
|
msp/uartx.c 底层代码 和cpu相关 缓存发送也放在里面
|
|
L0_UART0_Init
|
|
UART0_IRQHandler
|
|
L0_Usend_uc------UserDef
|
|
--------------------------------------------------------------------------------------
|
|
|
|
简单外设
|
|
app: call readfunc///use val
|
|
bsp: drivera readfunc+val
|
|
|
|
复杂外设
|
|
app: send massage --use val2
|
|
asp: chain filter average 算法 一直执行handdle +val2
|
|
bsp: drivera readfunc+val
|
|
|
|
|
|
nb : at指令长度 2--32
|
|
*a = "dfasdfasdf"
|
|
|
|
*b = "dfasdfa4456567sdf"
|
|
|
|
ff 33 ff "dfasdfasdf" "dfasdfa4456567sdf" 0d 0a
|
|
|
|
|
|
send()
|
|
{
|
|
send head
|
|
|
|
|
|
send a
|
|
send b
|
|
|
|
send tail尾巴
|
|
|
|
}
|
|
|
|
******************************************************************************/
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|