这几天玩STM8S103F3P6,各个模块调试挺顺利的,直到昨天配置OptionBytes出了问题 1. 完成了PWM输出,手动设置的50%占空比 2. AD采样也验证了,通过串口打印到PC端 这算是V1.0版本吧 以上两步完成后,打算用AD采样的结果控制PWM输出的占空比,就加了一句“TIM1_SetCompare1(ADC_Value * 2);” 然后PWM输出没有了,串口输出没有了,记做V1.1版本 心想是哪里进入了死循环吧,奇怪的是返回到V1.0版本后,PWM和串口输出也一样没有了 怀疑是不是操作不当,一不小心把STM8烧了。。。 今天又拿了同样一块板子,先用V1.0版本试了,AD采样正常,串口输出正常 然后写入配置字节,“TIM1_SetCompare1(ADC_Value * 2);”。。。 好吧,同样的“死机”又出现了,啥都没有了,返回到V1.0也什么都没有 这两片板子这么都没法工作了,像是STM8坏了一样,但是个人感觉不会这么脆弱,应该是自己哪里没注意到,所以到论坛里求助过路的大侠 拜求指点!!! 附:配置字节的写入代码
|
测试标签123
IAR FOR ARM和IAR FOR STM8无法共存,
STM8L052,液晶内部电源怎么用?
STM8S103飞线外接芯片,I2C不能得到slaveAddress应答,通讯失败。
STM8S105C6T6 UART2串口,能接收数据,不能发送数据
STM8S105K4 串口2 无奇偶校验,也能接收 偶校验的 数据
在STM8S的IAP使用中断和APP使用中断问题
STM8L151 SMBUS设计
STM8S103F复位异常
STM8L的LCD调试时不亮
PC: WIN7 32bit
IDE: STVD
Compiler: COMIC
Programmer: STVP内置的Light Programmer
stm8应该没有坏,因为一直可以正常烧录,只是没有任何功能
评分
查看全部评分
1,STVP里面修改;
2,软件修改去操作选项字节。
可以参考这个链接:http://www.07net01.com/2015/07/879456.html。
void Config_GPIO_Option(void)
{
#define AFR_ADDR (0x4803)
#define TIMER1PWMSELECT (0x01)
uint16_t temp = 0;
/* Define FLASH programming time */
FLASH_SetProgrammingTime(FLASH_PROGRAMTIME_STANDARD);
//first unlock
FLASH_Unlock(FLASH_MEMTYPE_DATA);
FLASH_EraseOptionByte(AFR_ADDR);
while(!(FLASH_GetFlagStatus(FLASH_IAPSR_DUL)));/*等待解锁完毕*/
temp = FLASH_ReadOptionByte(AFR_ADDR);
while(!(FLASH_GetFlagStatus(FLASH_IAPSR_DUL)));/*等待解锁完毕*/
FLASH_ProgramOptionByte(AFR_ADDR,TIMER1PWMSELECT);//
temp = FLASH_ReadOptionByte(AFR_ADDR);
FLASH_Lock(FLASH_MEMTYPE_DATA);
}