標題: 單片機的程序定義誰幫我解釋一下 [打印本頁]

作者: hjx5548    時間: 2021-12-13 21:40
標題: 單片機的程序定義誰幫我解釋一下
uchar sysmode=0;
__sbit fz1b = sysmode:0;
__sbit t0zd1b = sysmode:1;

uchar temp1r=0;

uchar jshi1r=0;

uchar js1r=0;
作者: munuc_w    時間: 2021-12-14 08:22
uchar:無符號字符類型;__sbit:這個不知道,可能要看使用的編譯器。
作者: 藍魄    時間: 2021-12-14 09:00
__sbit fz1b = sysmode:0;是用sysmode的第0位做fz1b標志位,就是用sysmode的位來立一個flag,:1就是sysmode的第1位,以此類推,定義sysmode的第幾位作為一個flag
作者: 小黑屋525    時間: 2021-12-14 09:23
你這個uchar前面應該是有一行#define uchar unsigned char;語句的,這里是把uchar定義為unsigned char符號類型,所以后面的uchar=unsigned char(無符號字符類型),那個__sbit前面解釋過了。
作者: datouyuan    時間: 2021-12-14 09:46
本帖最后由 datouyuan 于 2021-12-14 09:56 編輯

uchar用于定義字節(jié)變量。類似于51mcu的sfr
__sbit 用于定義位變量。類似于51mcu的sbit

假如sysmode是51mcu的P0端口,那么fz1b為P00,t0zd1b為P01.

這種定義估計是用于microchip的單片機。義隆等mcu都是仿制microchip的。這種芯片有個特點是所有ram都能位訪問.e而51只有很少的特定的ram才能位訪問。






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1