|
|
发表于 2026-8-12 10:56:07
|
显示全部楼层
追加问题,还是这个程序
数组是一维数组的时候
unsigned char led_state[8] = {
RED, GREEN, RED, GREEN, RED, GREEN, RED, GREEN, /* 0, 01010101 */
};
逐一判断 led_state[n] 的值,发送给八颗LED的P2端口,可以按照 红绿红绿红绿红绿 点亮正常。
然后改成了二维数组
unsigned char led_state[][8] = {
RED, GREEN, RED, GREEN, RED, GREEN, RED, GREEN, /* 0, 01010101 */
GREEN, RED, GREEN, RED, GREEN, RED, GREEN, RED, /* 1, 10101010 */
};
先逐一读取 led_state[0][n] ,结果 P2 的八个口输出都是 “RED”
再逐一读取 led_state[1][n] ,结果 P2 的八个口输出都是 “GREEN”
相同代码用KEIL编译,可以分别点亮 “红绿红绿红绿红绿” 和 “绿红绿红绿红绿红”
、、、、、、、、、、、、、、、
另外,完整代码都是AI助手写的,用到了定时器中断,AI助手在中断函数和main函数里,都声明了一个变量 unsigned char i,但是都没有用上。
结果也是,STC IDE 没有提示,而KEIL则提示两处 warning C47: 'i': unreferenced local variable。
|
|