问题一、移位问题
- 宏定义 #define RELAY_UP_ERR ((INT8U)0x01)
- 定义gul_TotalRelaySta = 0;
- gul_TotalRealySta = gul_TatalRelaySta &(~((RELAY_UP_ERR)<<(2*ucChannelId)));/*清除通道错误状态*/
- gul_TotalRealySta = gul_TatalRelaySta | ((RELAY_UP_ERR)<<(2*ucChannelId));
测试发现:
- 如果第1通道(ucChannelId=0)出错,其余通道都ok;共10个通道;则gul_TotalRealySta记录不到第一通道的错误;
- 如果第9通道(ucChannelId=8)出错,其余通道都ok;共10个通道;则gul_TotalRealySta记录到第一通道的错误,记录不到第9通道错误;
问题原因:
- DSP2812/28335都为16数据位;所以如果不强制的话,默认数据位扩充位16位进行移位操作;所以第一通道和第9通道的错误信息显示到一起了;
修改:
方法1:直接定义 #define RELAY_UP_ERR ((INT32U)0x01)
方法2:
- gul_TotalRealySta = gul_TatalRelaySta &(~(((INT32U)RELAY_UP_ERR)<<(2*ucChannelId)));/*清除通道错误状态*/
- gul_TotalRealySta = gul_TatalRelaySta | (((INT32U)RELAY_UP_ERR)<<(2*ucChannelId));
问题二:Breakpoint Manager: Retrying with a Legacy Hardware breakpoint.
问题现象:
问题原因:
1、28335.gel,选择的gel文件找不到;
2、DSP下载程序是选择的版本信息不对,如下图所示:
解决方法:
1、安装28335的gel文件
2、选择正确的版本信息