ercircle 发表于 2025-4-18 11:58
是不是漏了这个
看一下我刚刚上传的图片
ercircle 发表于 2025-4-18 11:58
是不是漏了这个
没有漏,eventUsing.source,能访问 ercircle 发表于 2025-4-18 12:03
另外%x是十六进制打印噢,0x13H == 19.你这个EventSource定义是不是1字节?
// 事件源
typedef enum
{
EVENT_SOURCE_UART1 = 0x01, // 串口1
EVENT_SOURCE_UART2 = 0x02, // 串口2
EVENT_SOURCE_UART3 = 0x03, // 串口3
EVENT_SOURCE_UART4 = 0x04, // 串口4
EVENT_SOURCE_UART5 = 0x05, // 串口5
EVENT_SOURCE_UART6 = 0x06, // 串口6
EVENT_SOURCE_UART7 = 0x07, // 串口7
EVENT_SOURCE_UART8 = 0x08, // 串口8
EVENT_SOURCE_UART9 = 0x09, // 串口9
EVENT_SOURCE_UART10 = 0x0A, // 串口10
EVENT_SOURCE_CAN1 = 0x11, // CAN1总线
EVENT_SOURCE_CAN2 = 0x12, // CAN2总线
EVENT_SOURCE_ETHERNET = 0x21, // 以太网
EVENT_SOURCE_TIMER = 0x31, // 定时器
EVENT_SOURCE_SYSTEM = 0x41, // 系统内部
EVENT_SOURCE_USER = 0x51, // 用户触发
EVENT_SOURCE_SENSOR = 0x61, // 传感器
} EventSource; 是不是这个编译选项,需要修改呢??? 王增 发表于 2025-4-18 13:20
是不是这个编译选项,需要修改呢???
选择,1: Dead code elimination(死代码消除)进行了测试,现象和选择9: Common Block Subroutines(公共块子程序)一致,没有区别
王增 发表于 2025-4-18 13:40
选择,1: Dead code elimination(死代码消除)进行了测试,现象和选择9: Common Block Subroutines(公 ...
上面发了原因,你用%x打印的结构体总长,13,不是十进制!!!
0x13H == 19 ercircle 发表于 2025-4-18 13:58
上面发了原因,你用%x打印的结构体总长,13,不是十进制!!!
0x13H == 19
是我也发现了 char a = 1;
int b = 12365;
long c = 0x7FFFFFFF;
unsigned char x = 'A';
unsigned int y = 54321;
unsigned long z = 0x4A6F6E00;
float f = 10.0;
float g = 22.95;
char buf[] = "Test String";
char *p = buf;
printf("char %bd int %d long %ld\n",a,b,c); 有符号,10进制
printf("uchar %bu uint %u ulong %lu\n",x,y,z);无符号,10进制
printf("xchar %bx xint %x xlong %lx\n",x,y,z);无符号,8进制
printf("String %s is at address %p\n",buf,p);
printf("%f != %g\n", f, g);
printf("%*f != %*g\n", (int)5, f, (int)8, g);
C51单片机打印注意
char 打印前面增加b
int
long 打印前面增加l
页:
1
[2]