Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何用C写sbit#_C#_C - Fatal编程技术网

C# 如何用C写sbit#

C# 如何用C写sbit#,c#,c,C#,C,我正在将固件的c代码移植到c#,不确定这个关键字是如何实现的 "sbit" 可以用c写。提前谢谢。@Ben Robinson “(…)对于典型的8051应用程序,通常需要访问SFR中的单个位。sbit类型提供对位可寻址SFR和其他位可寻址对象的访问。例如: sbit EA = 0xAF; 此声明将EA定义为地址0xAF处的SFR位。在8051上,这是中断启用寄存器中的全部启用位。(……) 这个级别太低,你可能会尝试使用C++ .NET。C#是一种高级语言,使用指针可能有点棘手,可以做到,但却

我正在将固件的c代码移植到c#,不确定这个关键字是如何实现的

"sbit"
可以用c写。提前谢谢。

@Ben Robinson

“(…)对于典型的8051应用程序,通常需要访问SFR中的单个位。sbit类型提供对位可寻址SFR和其他位可寻址对象的访问。例如:

sbit EA = 0xAF;
此声明将EA定义为地址0xAF处的SFR位。在8051上,这是中断启用寄存器中的全部启用位。(……)

这个级别太低,你可能会尝试使用C++ .NET。C#是一种高级语言,使用指针可能有点棘手,可以做到,但却逃避了C#的真正意图。


你可以使用C++.NET函数,因为两者的最终代码是相同的[CLR(公共语言运行时)],机器不会注意到这个差别。

嗯,这不是标准的C++关键字,这是肯定的。你能发布比一个词更大的部分代码吗?你能提供一个使用它的例子吗?一些“C”固件编译器允许对低级别操作(如设置I/O位)进行各种关键字扩展。我猜这会在微控制器上设置一个内置的输出位。@GSerg-否则你怎么能区分正的和负的呢?它可能是源代码中的
typedef
#define
。它与此相关吗。如果是这样的话,我认为没有c#等价物,它的级别太低了
sbit name = sfr-address ^ bit-position;