王昱顺
发表于 2025-4-3 13:56:31
PWM部分库函数讲解——包括PWM基础知识的讲解
(2025年4月7日增加封面)
Sky_chen4
发表于 2025-4-4 23:39:24
大佬,烧录EEPROM列程,单片机直接死机了是怎么回事?是不是设置啥东西需要
王昱顺
发表于 2025-4-5 07:47:37
Sky_chen4 发表于 2025-4-4 23:39
大佬,烧录EEPROM列程,单片机直接死机了是怎么回事?是不是设置啥东西需要 ...
我修改了一下例程,现在应该可以了,需要将EEPROM绑定函数放到程序最开始。
可以参考我的设置,我给通讯调整成USB-CDC接口了,只需要使用USB下载后就能看到CDC接口进行通讯了
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
希望库不要占用太多资源
王昱顺
发表于 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 ...
烧录和编译都正常
页:
2
3
4
5
6
7
8
9
10
11
[12]
13