历史上的今天
返回首页

历史上的今天

今天是:2025年02月02日(星期日)

2020年02月02日 | STM8S103编译出错 bad struct/union operand

2020-02-02 来源:eefocus

STM8s103P 编译出现以下结果


bad struct/union operand


是由于未宏定义芯片类型


解决方法一 在project setting里面 C Compiler 更改  Preprocessor Definitions 

方法二 更改stm8s.h


将下面的

 /* #define STM8S208 */      /*!< STM8S High density devices with CAN */

 /* #define STM8S207 */      /*!< STM8S High density devices without CAN */

 /* #define STM8AF52Ax */    /*!< STM8A High density devices with CAN */

 /* #define STM8AF62Ax */    /*!< STM8A High density devices without CAN */

 /* #define STM8S105 */      /*!< STM8S Medium density devices */

 /* #define STM8AF626x */    /*!< STM8A Medium density devices */

 /*#define STM8S103    */   /*    !< STM8S Low density devices */

 /* #define STM8S903 */      /*!< STM8S Low density devices */


更改为

 /* #define STM8S208 */      /*!< STM8S High density devices with CAN */

 /* #define STM8S207 */      /*!< STM8S High density devices without CAN */

 /* #define STM8AF52Ax */    /*!< STM8A High density devices with CAN */

 /* #define STM8AF62Ax */    /*!< STM8A High density devices without CAN */

 /* #define STM8S105 */      /*!< STM8S Medium density devices */

 /* #define STM8AF626x */    /*!< STM8A Medium density devices */

 #define STM8S103       /*    !< STM8S Low density devices */

 /* #define STM8S903 */      /*!< STM8S Low density devices */


同时更改


注销stmflash.h 里面的


芯片falsh的大小


#if defined (STM8S103) || defined(STM8S903)

// #define FLASH_PROG_END_PHYSICAL_ADDRESS   ((uint32_t)0x9FFF)   /*!< Program memory: end address */

 //#define FLASH_PROG_BLOCKS_NUMBER          ((uint16_t)128)      /*!< Program memory: total number of blocks */

// #define FLASH_DATA_START_PHYSICAL_ADDRESS ((uint32_t)0x004000) /*!< Data EEPROM memory: start address */

 //          #define FLASH_DATA_END_PHYSICAL_ADDRESS   ((uint32_t)0x00427F) /*!< Data EEPROM memory: end address */

 //#define FLASH_DATA_BLOCKS_NUMBER          ((uint16_t)10)       /*!< Data EEPROM memory: total number of blocks */

// #define FLASH_BLOCK_SIZE                  ((uint8_t)64)        /*!< Number of bytes in a block (common for Program and Data memories) */

#endif /* STM8S103, STM8S903 */


两个方法不能同时使用  建议使用方法一

推荐阅读

史海拾趣

Electro Technik Industries公司的发展小趣事

作为一家具有社会责任感的企业,ETI始终关注环保问题。公司积极推广绿色生产理念,采用环保材料和工艺进行生产。同时,ETI还投入大量资金用于环保设施的建设和运营,减少了对环境的污染。此外,ETI还积极参与社会公益活动,为环保事业贡献自己的力量。这些举措使ETI在业界树立了良好的形象,赢得了社会各界的广泛赞誉。

常州能动(ENDRIVE)公司的发展小趣事

人才是企业发展的重要保障。常州能动深知这一点,因此在发展过程中始终注重人才引进与培养。公司不仅积极引进高端技术人才,还建立了完善的培训体系,为员工提供多样化的培训机会,帮助他们不断提升技能水平。这些措施使得公司的人才队伍不断壮大,为公司的持续发展提供了有力保障。

Hexawave公司的发展小趣事

随着环保意识的日益增强,常州能动积极响应国家政策,加大环保投入。公司引进了先进的环保设备和技术,对生产过程中的废弃物进行无害化处理。同时,公司还注重节能减排和资源循环利用,推动公司向绿色、低碳、可持续发展的方向迈进。这些努力不仅提升了公司的社会形象,也为公司的长远发展打下了坚实基础。

Abbotec Incorporated公司的发展小趣事

Abbotec Incorporated公司自成立以来,一直致力于电子技术的研发与创新。在某一年,公司研发团队成功开发出一款具有划时代意义的芯片,这款芯片在性能上大幅提升,同时降低了能耗。这一技术突破迅速引起了业界的关注,Abbotec因此获得了大量的订单,公司规模迅速扩大。

Aerovox Corporation公司的发展小趣事

方舟公司不仅关注经济效益,还积极履行社会责任。公司积极参与环保事业,推动绿色生产,减少能源消耗和废弃物排放。同时,方舟公司还关注社会公益事业,捐资助学、扶贫济困,为社会和谐发展贡献了一份力量。

CYANLITE公司的发展小趣事

CYANLITE公司非常重视产品品质的管理和控制。他们建立了严格的质量检测体系,确保每一件产品都符合高标准的质量要求。此外,公司还注重客户反馈的收集和分析,不断改进产品和服务以满足客户的需求。这种对品质的执着追求使得CYANLITE公司赢得了客户的信任和忠诚。许多客户都表示愿意长期与CYANLITE公司合作,并推荐他们的产品给其他人。

问答坊 | AI 解惑

戏法人人会变,各有巧妙不同--用有限状态机对键盘模块的另类实现

最近阿姨家里的几个表哥都在热烈的讨论着状态机,表弟我心痒,也想来凑凑热闹。要想加入他们的讨论,首先得明白什么是状态机,这是今天的主题之一,不过我会首先给出定义,然后谈谈我的浅薄的理解。另外,前些日子正在学习GOF的《设计模式》,其中 ...…

查看全部问答>

LED节能灯1年节约电费相当于建6座三峡电站

节能灯寿命为2500~5000小时,而半导体LED照明灯正常情况下的寿命是5万-8万小时,但LED灯的耗电量只有普通白炽灯、霓虹灯的1/10。因此,如果我国的照明全部采用LED灯,则一年节约的电费相当于建造了6座三峡电站。有关部门应该采取强制措施推广节能产 ...…

查看全部问答>

wince开发 用c#好 还是vc啊?

wince开发 用c#好 还是vc啊?…

查看全部问答>

常用标志寄存器含义的理解

常用标志寄存器含义的理解,这是微型计算机的题目,可我不知道如何回答,我是学软件的,初次接触这些硬件的知识,老是很模糊,弄不清楚实际是怎么回事,请各位给点意见,回答一下~谢谢~…

查看全部问答>

谁有MSC51单片机视频教程及课件,最好是北航的!谢谢!

谁有MSC51单片机视频教程及课件,最好是北航的!谢谢! 我的QQ号:250193148 它发到我邮箱里或者在线传给我 谢谢了!…

查看全部问答>

上本无线通讯好书

射频和无线入门(第二版) …

查看全部问答>

STM32摄像头设计原理图.和芯片手册

摄像头设计原理图.和芯片手册…

查看全部问答>

秀下我做的调试工具:UsbHub+xlink+USB转串口/485/Nrf24L01/红外

秀下我的调试工具UsbHub+xlink+USB转串口/485/Nrf24L01/红外 看了小马哥的多功能调试工具真是羡慕啊,于是也做了个高速USBhub托了个xlink, 用stm32实现 USB转串口TTL/串口232/串口485(通过跳线来实现)/NRF24L01/红外,同时支持输出一路PWM输出。 ...…

查看全部问答>

HELPER2416开发板(二):安装fedora开发环境

我下了光盘,按照HELPER2416_V2 开发板LINUX 用户手册 的说明按装上了。fedora开发环境。 没有什么可注意的地方,有一个地方就是安装fedora那个选项,直接选中解压后的F12目录就行。我不知怎么搞出两个fedora文件,反正也好用: 我现在的 ...…

查看全部问答>