Sky_chen4
发表于 2025-4-6 03:00:10
王昱顺 发表于 2025-4-5 07:47
我修改了一下例程,现在应该可以了,需要将EEPROM绑定函数放到程序最开始。
可以参考我的设置,我给通 ...
//代码1
WTST = 0; // 设置程序指令延时参数,赋值为0可将CPU执行指令的速度设置为最快
EAXSFR(); // 扩展SFR(XFR)访问使能
CKCON = 0; // 提高访问XRAM速度
usb_init();
set_eeprom_mode(Hex_Mode, &start_cnt, sizeof(start_cnt));//绑定变量到EEPROM
set_eeprom_sync(Pull);//拉取变量的值到本地变量
set_timer_mode(Timer0, "1ms", Timer_End);
set_timer_isr(Timer0, set_task_mode);
set_io_mode(pu_mode, Pin50, Pin_End);
EA = 1;
start_cnt++;//开机次数加1
set_eeprom_sync(Push);//将本地变量的值更新到EEPROM
//代码2
WTST = 0; // 设置程序指令延时参数,赋值为0可将CPU执行指令的速度设置为最快
EAXSFR(); // 扩展SFR(XFR)访问使能
CKCON = 0; // 提高访问XRAM速度
usb_init();
set_timer_mode(Timer0, "1ms", Timer_End);
set_timer_isr(Timer0, set_task_mode);
set_io_mode(pu_mode, Pin50, Pin_End);
EA = 1;
set_eeprom_mode(Hex_Mode, &start_cnt, sizeof(start_cnt));//绑定变量到EEPROM
set_eeprom_sync(Pull);//拉取变量的值到本地变量
start_cnt++;//开机次数加1
set_eeprom_sync(Push);//将本地变量的值更新到EEPROM
Sky_chen4
发表于 2025-4-6 03:01:59
王昱顺 发表于 2025-4-5 07:47
我修改了一下例程,现在应该可以了,需要将EEPROM绑定函数放到程序最开始。
可以参考我的设置,我给通 ...
成功了,发现问题所在了,如果绑定在时间中断之前就可以正常使用如代码1,,但是绑定在之后就会卡死,如代码2.不知道你们会不会出现这种情况
王昱顺
发表于 2025-4-6 10:51:24
Sky_chen4 发表于 2025-4-6 03:01
成功了,发现问题所在了,如果绑定在时间中断之前就可以正常使用如代码1,,但是绑定在之后就会卡死,如 ...
好的我测试一下,看看问题在哪里
zhangrenbee
发表于 2025-4-6 21:48:27
希望库不要占用太多资源
gzlai
发表于 2025-4-7 09:26:05
狠人,放假持续更新{:4_245:}
王昱顺
发表于 2025-4-7 11:29:34
Sky_chen4 发表于 2025-4-6 03:01
成功了,发现问题所在了,如果绑定在时间中断之前就可以正常使用如代码1,,但是绑定在之后就会卡死,如 ...
您好,目前已定位问题为多次初始化导致的问题,现已修复完成
经测试,定时器操作函数在EEPROM操作函数之前也没有问题了
更新后的内容详见一楼下载链接和二楼的更新日志
锦浩
发表于 2025-4-7 16:34:41
第一次用AI8051U的专用库,写了一个点亮LED灯的小程序,P20外接一个共阴极的led,为什么点不亮,咨询下
#include <AI8051U.H>
#include "set_io.h"
void main(void)
{
EAXFR = 1; //允许访问拓展寄存器
WTST = 0; //设置程序代码等待参数
CKCON = 0; //设置外部数据总线速度最快
set_io_mode(pp_mode,Pin20,Pin21,Pin22,Pin23,Pin24,Pin25,Pin26,Pin27,Pin_End);
while(1)
{
P20=1;
}
}
锦浩
发表于 2025-4-7 16:35:50
锦浩 发表于 2025-4-7 16:34
第一次用AI8051U的专用库,写了一个点亮LED灯的小程序,P20外接一个共阴极的led,为什么点不亮,咨询下
#i ...
烧录和编译都正常
王昱顺
发表于 2025-4-7 16:57:29
锦浩 发表于 2025-4-7 16:34
第一次用AI8051U的专用库,写了一个点亮LED灯的小程序,P20外接一个共阴极的led,为什么点不亮,咨询下
#i ...
可以从以下方面检查:
1.首先确认电路上连接正确,LED的正极是在P20上,共阴极端口接地,最好驱动部分加入限流电阻
2.确认单片机端口是否虚焊,或者提供你的电路图和程序
3.程序上看并没有任何问题,库函数也是都经过验证的,主要排查共阴极端口接到哪里了,这部分可以使用万用表测量查看。I/O口默认都是输出1的,不设置的情况下输出0。
4.如果使用了I/O口驱动共阴极端口,那么需要共阴极端口写0才可以输出低电平
如果经过以上步骤排查仍然不行,欢迎再次询问
王昱顺
发表于 2025-4-15 10:39:20
协程原理与应用深度讲解-快速掌握多线程
页:
4
5
6
7
8
9
10
11
12
13
[14]
15