
如题:请高手解答!!谢谢!! 不知道是什么问题 |
下载完这个就不能再下载了
下载完这个就不能再下载了
STVD使用STM8S005K6T6C内部data eeprom进行数据写入操作问题,请大佬帮忙看下
请教下,STM8/STM32 products 有2D marking 和没有2D marking的工艺有差别吗?
IAR无法跳转定义,系统库文件文件名后有[RO]
初次接触STM8,请问在STVD中,为什么这个Struct会报错
正在使用stm8作为从机与esp32进行i2c通讯,但是发现主机扫描的i2c地址与stm8从机设置的i2c地址不一样,请问如何解决?
STMS005K6T6 如何采集内部参考电压。
stm8s003 adc中断和通道切换的问题
IAR代码编辑太费劲了,想问一下有没有好的方法,试了VScode但是头文件老是报错,调了很久也没调好,想换个方法了。
想问一下各位大佬,IAR下载调试代码时出现 warning: is an illegal data sample expression IAR是什么意思啊?
stm8s批量烧录问题
代码再这了
# include "LCD1602.h"
u8 * OPT[9] = {(u8 *)0x4800,(u8 *)0x4801,(u8 *)0x4803,(u8 *)0x4805,(u8 *)0x4807,
(u8 *)0x4809,(u8 *)0x480B,(u8 *)0x480D,(u8 *)0x487E};
//OPTconfig
void OPTconfig(void);
void Init_OPT_Array(void);
u8 unlock_Pro(void);
u8 unlock_EEP(void);
int main( void )
{
PI_DDR_DDR0 = 1;
PI_CR1_C10 = 1;
PI_CR2_C20 = 0;
PI_ODR_ODR0 = 1;
LCD1602_Daley(50000);
LCD1602_ShowStr("LCD1602 Test","Welcome uisng!");
OPTconfig();
PI_ODR_ODR0 = 0;
while(1);
return 0;
}
void OPTconfig(void)
{
while(!unlock_Pro());//解锁Programing area
while(!unlock_EEP());//解锁EEPROM area
FLASH_CR2 |= 0x80; //Bit 7 OPT: Write option bytes 1: Write access to option bytes enabled
FLASH_NCR2 &= ~0x80;
Init_OPT_Array();
//FLASH_CR2 &= 0x7f; 下载这个代码后 ,,就无法在下载程序了
//FLASH_NCR2 |= ~0x80;
FLASH_IAPSR=0x40;//程序存储区(FLASH)上锁,数据存储区(EEPROM)上锁
}
void Init_OPT_Array(void)
{
*OPT[0] = 0x00;
*OPT[1] = 0x00;
*(u8 *)0x4802 = 0xff;
*OPT[2] = 0x80; //之前下载这个代码后 ,,就无法在下载程序了 这里我改成了0xff 下载这个代码后 ,,就无法在下载程序了
*(u8 *)0x4804 = ~0x80;//下载这个代码后 ,,就无法在下载程序了这里我改成了0x00
*OPT[3] = 0x00;
*(u8 *)0x4806 = 0xff;
*OPT[4] = 0x00;
*(u8 *)0x4808 = 0xff;
*OPT[5] = 0x00;
*(u8 *)0x480A = 0xff;
*OPT[6] = 0x00;
*(u8 *)0x480C = 0xff;
*OPT[7] = 0x00;
*(u8 *)0x4801 = 0xff;
*OPT[8] = 0x55;
*(u8 *)0x487F = ~0x55;
}
/*
First hardware key: 0b0101 0110 (0x56)
Second hardware key: 0b1010 1110 (0xAE)
*/
u8 unlock_Pro(void)
{
FLASH_PUKR = 0x56;
FLASH_PUKR = 0xAE;
if(FLASH_IAPSR & 0x02)
return 1;
else
return 0;
}
/*
First hardware key: 0b1010 1110 (0xAE)
Second hardware key: 0b0101 0110 (0x56)
*/
u8 unlock_EEP(void)
{
FLASH_DUKR = 0xAE;
FLASH_DUKR = 0x56;
if(FLASH_IAPSR & 0x08)
return 1;
else
return 0;
}
求高手解答 在此感谢了!