调试心得

判断一个控制波形正不正确,可以在该处理函数里面添加一个方波,通过观察方波情形判断该处理是否正确;
软件模拟硬件触发条件,便于判断软件代码是否OK;
0423(记录吹风机项目)
过零检测点是输入检测,不需要开上拉。开上拉会导致初始就有一个电平,影响波形。捕捉不到正确的上升下降,对发热丝的处理就会出现偏差。需要看芯片引脚相关知识,下次不能再犯类似错误。引脚初始化是基础,要做到清楚知道自己的控制会起到什么作用。
移植代码:
不同平台芯片的底层封装会导致上层些许不同。例如最常用的uint,有的芯片支持库里面直接定义了typedef unsigned char uchar,故移植代码的时候记得查看一下底层封装;
有的因为编译平台不同,同一个写法,32的keil5通过,51的keil4并不通过。例如联合体中放结构体
32写法:
typedef union _DRV_FAULTS_OBJ // Faults State
{
uint32_t AllFaults;
struct
{
uint16_t IMM_Faults;
uint8_t OverTemp;
uint8_t UR_Break;
};
} DRV_FAULTS_OBJ;
extern DRV_FAULTS_OBJ SystFaults;

51写法:
typedef union _DRV_FAULTS_OBJ
{
ulong AllFaults;
struct
{
uint IMM_Faults;
uchar OverTemp;
uchar UR_Break;
}Add;
} DRV_FAULTS_OBJ;
extern DRV_FAULTS_OBJ SystFaults;
32中能通过的写法,51中并不能通过。这时候换写法就好,能实现预期功能就行。
有时提示的错误会是奇奇怪怪的,这时候一点点屏蔽一点点放出来确定问题大致区域就行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值