@小杨先生 你好,我用的富芮坤官方的离线烧录器
cai896695039 发布的帖子
-
关于离线烧录器烧录的程序与串口程序在线烧录的程序不一致的问题
#define RFID_Flash_Address1 0xFF0000
在0xFF0000位置存储MAC地址数据
。。。
{
if(char3data[0]==0xEE && char3data[1]==0x01) //接收到蓝牙发送的数据
{
for(i=0;i<20;i++) //6----20
{
flashdata[i] = char3data[i];
}
flash_write(RFID_Flash_Address1,20,flashdata);
char3data[0] = 0;
char3data[1] = 0;
}
}开机启动后在
void user_custom_parameters(void)
{
//----- 设置本地设备MAC地址 ----
uint8_t RFID_MAC[6]={0x0A,0xDD};
flash_read(RFID_Flash_Address1,6,RFID_MAC);
__jump_table.addr.addr[0] = RFID_MAC[5];
__jump_table.addr.addr[1] = RFID_MAC[4];
__jump_table.addr.addr[2] = RFID_MAC[3];
__jump_table.addr.addr[3] = RFID_MAC[2];
if(RFID_MAC[1]==0xFF && RFID_MAC[0] == 0xFF) //MAC地址全部0xFF会连接失败
{ __jump_table.addr.addr[4] = 0xDD;
__jump_table.addr.addr[5] = 0x0A;
}
else
{ __jump_table.addr.addr[4] = RFID_MAC[1];
__jump_table.addr.addr[5] = RFID_MAC[0];
}
。。。
}
读取写入的数据作为MAC地址进行运行串口下载程序到设备,设备运行正常,功能测试正常。
但是!!!!!
使用离线烧录器,下载同一个程序,功能部分测试都正常。flash存储部分,设备的MAC地址不能改变!不能改变!不能改变!
一直为0x0ADD FFFFFFFF !!!
离线烧录器也换了两个,程序也换过几个,设备也换过好几个,都一样!!!
项目程序有三种,都是串口下载可以修改MAC地址存储数据正常,离线烧录器就是不行!不行!不行!
这是为什么??????? -
RF801X设置内部LDO稳压输出1.8V、2.1V、2.3V、2.5V、2.7V、3.0V、3.3V、3.5V,初始化稳压输出设置成功。但是负载电路启动停止变化后,电压莫名的自动升高,为什么?
在Proj_main.c 文件中设置如下:
void user_entry_before_ble_init(void)
{
//------- 设置系统电源为BUCK模式 ------
pmu_set_sys_power_mode(PMU_SYS_POW_BUCK); //设置芯片内部LDO供电选择 LDO降压输出 5.3mA 3.8mA
//pmu_set_sys_power_mode(PMU_SYS_POW_LDO); //设置外部芯片LDO供电选择 7mA 5.3mA 高1.5mA
//---------- 设置LDO输出电压 ----------
pmu_set_aldo_voltage(PMU_ALDO_MODE_NORMAL,PMU_ALDO_VOL_2_1);
//设置 ALDO 电压 :2_1 2_3 2_5 2_7 2_9 3_1 3_3 3_5 PMU_ALDO_OUT_1_8 PMU_ALDO_VOL_2_1
//-------------------------------------
。。。。。。
}定时器里任务稳定开启负载SPI通讯,18ma负载电流,电压稳定输出设置的电压2.1V,但是SPI通讯设备进行低功耗后,LDO输出高出0.5V为什么?
发送SPI指令,关闭外围电路的低功耗LDO电压不会恢复2.1,定时器内部设置LDO也不行。请求大能指点!!! -
FR801XH的内部电池电压直接获取
{
struct adc_cfg_t cfg; uint16_t result, ref_vol,vbat_vol; memset((void*)&cfg, 0, sizeof(cfg)); cfg.src = ADC_TRANS_SOURCE_VBAT; cfg.ref_sel = ADC_REFERENCE_INTERNAL; cfg.int_ref_cfg = ADC_INTERNAL_REF_1_2; cfg.clk_sel = ADC_SAMPLE_CLK_24M_DIV13; cfg.clk_div = 0x3f; adc_init(&cfg); adc_enable(NULL, NULL, 0); adc_get_result(ADC_TRANS_SOURCE_VBAT, 0, &result); ref_vol = adc_get_ref_voltage(ADC_REFERENCE_INTERNAL); vbat_vol = (result * 4 * ref_vol) / 1024; sprintf((char *)LCD_ShowStringBuff,"Batt_V = %d mV",vbat_vol); LCD_ShowString(20,200,LCD_ShowStringBuff,BRRED);
}
-
RE: 请问使用工程模板ble_simple_peripheral 修改mac地址在哪个位置?
void user_custom_parameters(void)
{
//==========如果用户有需要修改的JUMP_TABLE中的参数,可以实现该函数,并且在该函数中进行调整
//----- 设置本地设备MAC地址 ----
uint8_t RFID_MAC[6]={0x0A,0xDD};
flash_read(0xF020,6,RFID_MAC);
//----------2021-05-13----------
__jump_table.addr.addr[0] = RFID_MAC[5];
__jump_table.addr.addr[1] = RFID_MAC[4];
__jump_table.addr.addr[2] = RFID_MAC[3];
__jump_table.addr.addr[3] = RFID_MAC[2];
__jump_table.addr.addr[4] = RFID_MAC[1];
__jump_table.addr.addr[5] = RFID_MAC[0];
//------------------------------ -
设置写入MAC地址
void user_custom_parameters(void)
{
//==========如果用户有需要修改的JUMP_TABLE中的参数,可以实现该函数,并且在该函数中进行调整
//----- 设置本地设备MAC地址 ----
uint8_t RFID_MAC[6]={0x0A,0xDD};
flash_read(0xF020,6,RFID_MAC);
//----------2021-05-13----------
__jump_table.addr.addr[0] = RFID_MAC[5];
__jump_table.addr.addr[1] = RFID_MAC[4];
__jump_table.addr.addr[2] = RFID_MAC[3];
__jump_table.addr.addr[3] = RFID_MAC[2];
__jump_table.addr.addr[4] = RFID_MAC[1];
__jump_table.addr.addr[5] = RFID_MAC[0];
//------------------------------