STM8AF5268 单片机u8 变量只能接收小于129的数据
STM8AF5268 单片机u8 变量只能接收小于129的数据,但是我看了定义,u8确实是unsigned char,所以请问大神到底是什么问题。/*!< Signed integer types*/
typedef signed char int8_t;
typedef signed short int16_t;
typedef signed long int32_t;
/*!< Unsigned integer types*/
typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
typedef unsigned long uint32_t;
/*!< STM8 Standard Peripheral Library old types (maintained for legacy purpose) */
typedef int32_ts32;
typedef int16_t s16;
typedef int8_ts8;
typedef uint32_tu32;
typedef uint16_t u16;
typedef uint8_tu8;
typedef enum {FALSE = 0, TRUE = !FALSE} bool;
typedef enum {RESET = 0, SET = !RESET} FlagStatus, ITStatus, BitStatus, BitAction;
typedef enum {DISABLE = 0, ENABLE = !DISABLE} FunctionalState;
#define IS_FUNCTIONALSTATE_OK(STATE) (((STATE) == DISABLE) || ((STATE) == ENABLE))
typedef enum {ERROR = 0, SUCCESS = !ERROR} ErrorStatus;
#define U8_MAX (255)
#define S8_MAX (127)
#define S8_MIN (-128)
#define U16_MAX (65535u)
#define S16_MAX (32767)
#define S16_MIN (-32768)
#define U32_MAX (4294967295uL)
#define S32_MAX (2147483647)
#define S32_MIN (-2147483648uL)
这个是定义
这里 u8 MAX明明是255,但是我却只能接收129以下的,否则接收到的数据只能显示位空的
C:\Documents and Settings\Administrator\桌面\1111
这个是发送的小于129的数据,没有问题
C:\Documents and Settings\Administrator\桌面\2222
这个是发送的大于128的数据,就无法显示 没有图,不知道你在说什么?
如果怀疑发的有符号数的话,你可以发个 -1 试试。
把你的工程发上来吧,有可能不是你描述的问题,是其它方面有问题。 把你的图在发一遍吧, 本帖最后由 wenyangzeng 于 2018-1-25 17:20 编辑
lujianhao891204 发表于 2018-1-25 11:27
这里 u8 MAX明明是255,但是我却只能接收129以下的,否则接收到的数据只能显示位空的
#define U8_MAX (255)
这个U8和u8好像不同,
看不到你的赋值代码。
假如函数中键入
u8 i=U8_MAX;
运行后 i应该不会等于0x7f吧。
lujianhao891204 发表于 2018-1-25 11:27
这里 u8 MAX明明是255,但是我却只能接收129以下的,否则接收到的数据只能显示位空的
楼主发帖前可以看看链接,如何上传照片
https://www.stmcu.org.cn/module/forum/thread-612788-1-1.html
页:
[1]