MCU程序设计之STM8S的optionbytes

MCU程序设计之STM8S的optionbytes


今天使用STM8S在程序中修改optionbyte遇到问题一直读取为0,不能进入设置流程,之前的程序今天重新修改东西,

使用新的片子,原来程序如下:

  AFR_TEMP = (uint16_t)((uint16_t)0x01 << 8);
  AFR_TEMP = AFR_TEMP | (uint16_t)0xFE;
  AFR_TEMP = (AFR_TEMP >> 8);

之所以直接赋值而不调用函数,是因为程序代码空间有限,使用函数调用方法修改没有问题,如下:

  AFR_TEMP = FLASH_ReadOptionByte(0X4803);
  AFR_TEMP = (AFR_TEMP >> 8);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
用IIC调节音量, PT2259的驱动程序,可准确实现PT2259芯片的控制。 #ifndef Audio_2259_H__ #define Audio_2259_H__ //************************************************************** #include "delay.h" #include "sys.h" #if (defined ALL_MASTER_FILE)||(defined Audio_2259_MASTER_FILE) //是从主要文件包含的。 #define Audio_2259_EXT #else //不是主要文件包含的,只声明。 #define Audio_2259_EXT extern #endif //*****************音频相关端口定义 *********************** #define Audio_2259_SDA_OUT PCout(2) //数据输出 #define Audio_2259_SDA_IN PCin(2) //数据输入 #define Audio_2259_SCL PCout(1) //时钟 #define Audio_2259_SCL_Delay0() /*(SDA变化前SCL保持时间)以“_nop_();”的个数或其它方式设置SCL时序*/\ {\ delay_ms(1);\ }// #define Audio_2259_SCL_Delay1() /*(SDA变化后SCL保持时间)以“_nop_();”的个数或其它方式设置SCL时序*/\ {\ delay_ms(1);\ }// #define Audio_2259_SCL_Delay2() /*(操作有效后SCL保持时间)以“_nop_();”的个数或其它方式设置SCL时序*/\ {\ delay_ms(1);\ }// //------------设置芯片最大衰减值---------- #define Audio_2259_AttenuationValue_Max 79 //根据芯片特性设置(见说明书) //============================================================== //头文件可选配置项 //--------------------------------------------------------------可选配置项,请慎重选择 #define Audio_2259_ClearRegister_EN 1 // #define Audio_2259_OverallSet_EN 1 // //-------------------------------------------------------------- //头文件无需更改项 //############################################################## //常量 //定义函数原型 void Audio_2259_WriteStart(void); void Audio_2259_WriteEnd(void); u8 Audio_2259_WriteData(uchar Sdata); void GPIO_2259_Init(void); u8 Audio_2259_ClearRegister(uchar Adr); u8 Audio_2259_Mute_Overall(uchar Adr,uchar NNN); u8 Audio_2259_AttenuationValue_Overall(uchar Adr,uchar dB); void Audio_2259_IIC_Init(void); u8 Audio_2259_Mute_R(uchar Adr,uchar NNN); u8 Audio_2259_AttenuationValue_R(uchar Adr,uchar dB); u8 Audio_2259_Mute_L(uchar Adr,uchar NNN); u8 Audio_2259_AttenuationValue_L(uchar Adr,uchar dB); void SetOutVOL(uchar VOL); void SetInVOL(uchar VOL); //############################################################## //后面是编写过程备注 /* */ #endif //
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值