小编mik*_*535的帖子

VHDL:在常量中使用十六进制值

我是一个VHDL菜鸟,试图创建一些常量并为它们分配十六进制数字,但是我一直在收到错误.

我希望常数FOO_CONST等于0x38

像这样...

constant FOO_CONST : integer := x"38";

错误:

Type integer does not match with a string literal

我尝试了一些没有成功的变种.

我很感激任何帮助.谢谢!

-麦克风

hex constants vhdl

11
推荐指数
2
解决办法
2万
查看次数

#if使用枚举

我有一个头文件,如:

enum DataRate {
    AB0,
    AB1,
    AB2,
    ...
};
Run Code Online (Sandbox Code Playgroud)

在我的代码中我有类似的东西

#define S_FACTOR AB0
Run Code Online (Sandbox Code Playgroud)

现在,函数调用就像

foo(S_FACTOR);
Run Code Online (Sandbox Code Playgroud)

似乎工作正常,但有条件的编译

#if ( (S_FACTOR == AB0) || (S_FACTOR == AB2) )
Run Code Online (Sandbox Code Playgroud)

不能正常工作.

c enums if-statement c-preprocessor preprocessor-directive

1
推荐指数
1
解决办法
699
查看次数