(1)安装不同IDE的影响
-IAR
-下载的破解版,没代码大小限制,编辑器比较落后,一些人性化的编辑操作是没有的(嵌入式IDE的通病),优化不如cosmic
-STVD
-编辑器不需要破解,但是需要一个cosmic的编译器(需要破解版),还是不怎么人性化的界面,代码优化好一点
(2)使用GPIO遇到的问题
-中断源的数量缺失
-stm8s的GPIO不是全部能出发外部中断的
-stm8s为外部中断事件专门分配了五个中断向量,在官方stm8参考手册可以看到(制版时一定小心):
● Port A 口的5个引脚:PA[6:2]
● Port B 口的8个引脚:PB[7:0]
● Port C 口的8个引脚:PC[7:0]
● Port D 口的7个引脚:PD[6:0]
● Port E 口的8个引脚:PE[7:0]
-stm8s的个别GPIO不是具有全部GPIO功能的(那其实也称不上是GPIO了,感觉特么st公司在这故意玩文字游戏),比如不带内部上拉只能开漏输出的,总之这地方出了问题只能认栽,谁让没仔细看手册呢,呵呵
1. (HS) 大电流吸收
2. (T) 真正的开漏I/O(没有P-buffer和连接到VDD的保护二极管)
3. [ ] 复用功能重映射选项
(3)全局中断的打开
全局中断进入必须放在初始化最后,否则在其后的中断会一直触发;具体就是在初始化外部中断时,外部中断函数一直进,因为不小心在定时器的初始化函数中先打开全局中断的后果(懵笔的问题)
关键字:stm8s 编辑器 IAR
引用地址:
记录使用stm8s的一些问题
推荐阅读最新更新时间:2024-11-21 20:26
IAR环境STM8工程快速修改工程名称
如果网上获取了一个参考的IAR环境下的代码工程包,想用作自己的项目,往往需要修改工程名称,那么在IAR下如何修改呢? 本例中,原来工程名称是text,现在想改为UF_Lgt,步骤如下 s1: 修改4个工程文件名称 做工程文件夹下,修改以下5个文件,改为自己的工程文件: *.dep *.ewt *.ewd *.eww *.ewp s2: 将*.eww文件用txt打开,修改“*.ewp”为自己的工程名称 s3 双击*.eww文件,打开工程 查看工程文件,修改成功。 s4 设置编译输出文件名称 程序编译后,生成的输出文件,如.out和.hex文件,建议名称采用工程名称。 a. 生成采用工程名称的hex文件 可按如下方式
[单片机]
IAR for ARM系列教程(四)_菜单(Ⅱ)
Ⅰ、写在前面 在【IAR for ARM系列教程(三)_菜单(Ⅰ)】文章中讲述了前面四个重要菜单File文件、Edit编辑、View视图、Project工程里面的内容。 本文讲述后面六个菜单Debug调试、Disassembly反汇编、ST-Link下载调试工具、Tools工具、Window窗口、Help帮助的内容。 其中“Debug调试、Disassembly反汇编”两个菜单是在调试模式时才有的。“下载调试工具”是由你工程目标配置所决定的(上面截图是配置ST-Link)。 本文内容已经整理成PDF文件,提供给大家下载: http://pan.baidu.com/s/1eSeDSu2 作者:strongerHu
[单片机]
STM32在IAR中如何使用printf函数
STM32使用printf函数给串口打印信息的执行步骤为: 1.重定向printf函数 给uart.c文件中增加如下函数: int fputc(int ch, FILE *f) { USART_SendData(USART2, (unsigned char) ch);// USART1 可以换成 USART2 等 while (!(USART2- SR & USART_FLAG_TXE)); return (ch); } 2.增加头文件stdio #include stdio.h 3.添加宏 在IAR中使用printf应在Options- C/C++Compler- Preprocess
[单片机]
STM8在IAR中Printf的整形长度问题
//ld是32位的 printf( up_intval:%ldrn ,device_set.upload_tem); //d是16位的 printf( up_intval:%drn ,device_set.upload_tem);+ 如果device_set.upload_tem是32位,那么用第二个打印就会出问题,数值异常之类的
[单片机]
STM8S学习笔记之三(STM8 SysClk)
STM8S系统时钟设置,对于单片机来说是非常重要的,不同的用处必须应用不同的时钟。。举个例子,做AVR时在高稳定的串口通讯时用的时钟一般是3.6864M,主要是这个算波特率精确。。STM8S同样重要。。 STM8S时钟源: ●1-24MHz高速外部晶体振荡器(HSE) ●最大24MHz高速外部时钟信号(HSE user-ext) ●16MHz高速内部RC振荡器(HSI) ●128KHz低速内部RC(LSI) 各个时钟源可单独打开或关闭,从而优化功耗。 对于我这么懒得人一般都是用的内部或者外部晶振。。这个芯片时钟方面很大的一个亮点就是时钟可以自由分频。在降低功耗方面,如果有特殊
[单片机]
STM8S TIM4库函数应用
void TIM4_TimerInit(u8 Timer4Time) { assert_param(IS_TIM4TIMERTIME_OK(Timer4Time)); TIM4_DeInit();//复位TIM4所有参数 TIM4_TimeBaseInit(TIM4_PRESCALER_16,Timer4Time);//16M/16= 1M CYCLE=1/1=1U 100us中断一次 //选择16分频 16M/16=1M 周期为1us TIM4_Cmd(ENABLE);//使能计时器 TIM4_ITConfig(TIM4_IT_UPDATE,ENABLE);//使能TIM4中断 } 初始化时,调用: TI
[单片机]
IAR for STM8下载、安装、注册
一、下载 官方下载,网址 https://www.iar.com/iar-embedded-workbench/#!?currentTab=free-trials 到这个页面,下载即可,国外的网址下载较慢。 二、安装 1.下载软件,双击安装包,进入准备安装(解压)过程 2、点击Install IARM Embeded Workbench for STMicroelctronics STM8 3.进入安装向导界面,点击“Next” 4.选择“I accept the ...”,点击“Next” 5.点击“Change”选择安装路径(默认C盘,可以不用修改,我这里改为D盘),点击“Next” 6.勾选需要安装调试的
[单片机]