找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2897|回复: 0
打印 上一主题 下一主题
收起左侧

stm8编程中的常见问题解决,编译打不开头文件,串口只能下载一次

[复制链接]
跳转到指定楼层
楼主
       为什么新的 STM8 单片机在串口口下载时只能下载一次?
  出场的 STM8 单片机内部并不是绝对的空白,内部有 bootloader  存在,在我们进行串口下载的时候,下载软件需要先和 STM8 的bootloader进行通信在得到bootloader的回答的时候才可以进行下载,也就是此时的 bootloader 的状态必须是 ENABLE 的,但是在单片机内部是空的时候,单片机的 bootloader  处在 disable 状态,但是可以 进行一次烧写,第一次下载的程序必须要修改 option byte,使得Bootloader enable,这样以后可以一直用串口下载了。否则,就在也没有办法进行串口下载程序了,这时需要使用 ST link  对 bootloader, 进行 ENABLE,方可继续进行 ISP 的下载。
在 STVD 新建工程的时候工程的名字不要有空格有空格的话啊会有
警告     如图所示


1 有的时候进行编译打不开头文件,因此而出现的错误
答:将相应的包含文件复制到 COSMIC 安装文件夹下面的 Hstm8 文件夹下面即可。编译时自动进行连接
2  怎样书写中断函数并且在主函数文件 main.c  中调用函数的中断服务程序?
答  在 stm8_interrupt_vector.c 文件里面的中断向量的映射
{0x82, NonHandledInterrupt}  的字符  “NonHandledInterrupt”改为所
要书写的中断函数的函数名
例 TIME4  的  溢出中断改写为{0x82, TIM4_UPD_OVF_IRQHandler}
然后在文件中进行函数终端服务程序的声明,形式
@far @interrupt  void TIM4_UPD_OVF_IRQHandler (void);
然后在主函数中进行函数服务程序的书写形式如
@far @interrupt void TIM4_UPD_OVF_IRQHandler (void)

函数体

         如何生成 HEX 文件
、STVD如何输出hex文件  
   菜单栏 Project -> Setting 打开“Post_Build”标签,命令框原默认定义:  
   chex -o $(OutputPath)$(TargetSName).s19 $(OutputPath)$(TargetSName).sm8  
   输出S19格式的目标文件。  
   在其中增加或修改为:  
   chex -fi -o $(OutputPath)$(TargetSName).hex $(OutputPath)$(TargetSName).sm8   
   即可输出hex格式目标文件。  
   生成hex文件被输出到目录 项目“\Debug”目录下。  
   如图:
      怎样对 STM8 单片机进行位操作
_Bool  在程序中使用的位名称 @  寄存器:位数;
_Bool FLAGB0 @FLAG:0;

stm8编程中的常见问题解决手册.pdf

69.33 KB, 下载次数: 13, 下载积分: 黑币 -5

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表