如题:请高手解答!!谢谢!! 不知道是什么问题 |
下载完这个就不能再下载了
下载完这个就不能再下载了
请教 stm8s 复位电路 和VCAP电容问题
项目完成,请各位前辈指点
关于STM8S IAR写程序内存的问题
推挽输出的电压
请教STM8S003F3P6 eeprom和真开漏输出
STM8S003F3U6 请求各位大佬支援,但是遇到如下问题。。。这样就一定是这颗芯片的问题吗?
各位大佬帮忙看看 STM8S003F3U6TR 哪里使用错误了?
如何搭建环境?
新手,STM8S标准库外部中断方式连接EC11的问题
新手求教,STM8S103如何用硬件I2C定时重复读取从机的一个状态寄存器?
代码再这了
# 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;
}
求高手解答 在此感谢了!