【发布时间】:2014-01-17 16:55:45
【问题描述】:
我的代码(我的代码的某些部分)低于警告:
# define MN2DIV 0x14
# define PLL_BASE_ADDRESS 0x481C5000
# define ISS_PLL_BASE (PLL_BASE_ADDRESS+0x140)
# define M_PLL (volatile Uint32*)(ISS_PLL_BASE+MN2DIV)
uint16 getfreqmhz(void)
{
uint16 M;
M= *M_PLL;
}
- 注释 923:从 int 转换为指针 [MISRA 2004 Rule 11.3]
- 信息 734:精度损失(赋值)(32 位到 16 位)
我尝试通过以下方式转换: M= (uint16)*M_PLL ;
上述更改的原因是警告 734 已删除,但我认为这不是正确的想法。
谁能告诉我这样做的正确方法....
【问题讨论】:
-
是的。:( ..你能告诉我任何可以修复 MISRA 警告的工具..
-
我感觉很糟糕。