stm8s
wangjl~
1730983350@qq.com
展开
-
STM8各时钟CLK_CCO口输出频率观察
这里要使用CLK_CCO口输出波形,根据官方参考手册需要将CLK_CCO口配置成上拉输入或者推挽输出。这边使用的是STM8s105K4最小系统板,所以使用PD0口作为CLK_CCO输出,这里设置PD0为推挽输出。寄存器版:在这里插入代码片库函数版:```在这里插入代码片```2.时钟频率选择:使用内部默认的时钟频率HSI/8输出到CLK_CCO口(复位后时钟控制器自动...原创 2019-05-08 23:51:07 · 3462 阅读 · 0 评论 -
STM8定时器1的四种触发同步说明
这里说明下,我这边的最小系统版的芯片型号是105K系列的,定时器部分没有TIM5\TIM6,只有TIM4,所以不讲解TIM1与TIM5/6的同步,想要了解这部分可以看官方手册。TIM1的计数器使用三种模式与外部的触发信号同步:标准触发模式、复位触发模式和门控触发模式。标准触发模式:说白了就是使用外部信号触发内部计数器启动,然而如何配置呢,看手册:下面根据官方给出的步骤配置寄存器:vo...原创 2019-05-27 17:24:47 · 2969 阅读 · 0 评论 -
STM8s外部时钟晶振失效时钟安全系统CSS启动演示
使用的最小系统晶振是8m的。这里说下配置过程:时钟自动切换,开启切换中断在中断里面清除中断标志,使能CSS并开启CSS中断CSS中断发生,清除CSS中断标志,将HSI二分频,即16M/2=8M,与外部晶振相同,这样不会影响串口波特率窗口输出配置信息:用手触碰PA1、PA2引脚使外部晶振失效串口输出CSS中断...原创 2019-05-22 20:48:56 · 1044 阅读 · 0 评论 -
关于STM8的程序下载问题:SWIM Error[30006]报错解决办法汇总
本人也是Windows用户的受害者,对于编程1天,配置2天的经历来说,着实是一种痛苦的情况。本人也是遇到了这个问题,虽然发现竟然是芯片错了,但也因为这个研究了好几天,为了下次不再重新网上搜索,就把我现在对这方面的解决方法汇个总,并把我个人的自己见解放在里面记录下来。问题背景 我用的是IAR的STM8开发环境,在连接ST-LINK时,选择运行...转载 2019-05-17 15:43:13 · 4810 阅读 · 0 评论 -
STM8S串口下载
自己找到的串口下载软件,下载链接:https://download.csdn.net/download/u013581207/11173125或者去官网下载。配置界面如下:Parity:校验方式(none:无校验;old奇校验;even偶校验);工作方式:echo 模式点击NRST复位按键立刻按下Next,将进入下一个界面(这里已经选择好目标器件)点击下一步,进入选择编译输出的文件,...原创 2019-05-12 11:00:45 · 4720 阅读 · 0 评论 -
STM8定时器1计数说明
定时器计数说白了就是把内部时钟信号(fmaster)变成外部时钟信号(TIx、ETR),计数需要有时钟/触发控制器和时基单元,定时器1拥有这两个,定时器2和3没有,所以2、3不能用于外部信号计数。使用外部信号计数有两种方式,见下图:一种输入方式是使用定时器1通道输入,第二种使用定时器1触发输入,各输入口见下图,其中PC1到PC4为定时器1输入通道,PB3为定时器1触发输入口:如何使用这...原创 2019-05-26 23:07:59 · 4848 阅读 · 0 评论 -
如何解决STM8s SWIM时钟控制寄存器关闭SWIM分频功能后下载问题
这里怀着好奇的心里吧SWIM时钟分频功能给禁止了,结果ST_LINK下载后就下载不进了。出现的就是这个问题:Sat May 11, 2019 17:45:07: Failed to set configuration with MCU name STM8S105K4: SWIM error [30006]: Comm init error: chip does not answer ...原创 2019-05-11 17:59:24 · 1297 阅读 · 1 评论 -
STM8S主时钟切换(使用HSE时钟源)
使用的时钟切换方式为手动切换,在中断中进行时钟切换,然后将切换后的主时钟输出到CLK_CCO口原创 2019-05-11 16:26:09 · 2474 阅读 · 0 评论 -
STM8s串口2异步基本收发使用说明
学到定时器部分时,想要将调试信息输出,故先把串口基本功能学了,才能方便后面的调试。使用某宝上买的STM8S最小系统板,外部晶振为8MHz的。HSI的误差对串口波特率影响比较大,这里使用外部晶振。开发板芯片是105K4的,只有UART2,这里把UART2的整体框图放在下面,蓝色矩形框是串口异步基本收发所用到的寄存器,可以看到,所要用到的寄存器很少。这里先说下如何计算波特率以及误差多少:官方...原创 2019-05-27 15:37:59 · 2202 阅读 · 0 评论 -
STM8S定时器TIM4定时1kHz输出
1.将主时钟切换到HSE;(外部晶振为8MkHz)2.将主时钟时钟频率8分频,即计数器时钟周期为1us;3.设置定时器250us中断一次;4.在中断程序里判断中断次数是否到2次;5.到2次翻转引脚电平。(逻辑分析仪检测频率)寄存器版:unsigned char i=255;PE_DDR_DDR5=1;//配置PD0为输出模式PE_CR1_C15=1;//配置PD0为推挽模式PE_...原创 2019-05-13 22:15:30 · 2352 阅读 · 0 评论 -
STM8S的堆和栈说明
参考链接:对单片机堆栈的理解STM8数据手册给出了堆栈的位置及大小。栈是从高到低分配,堆是从低到高分配。堆栈是内存中一段连续的存储区域,用来保存一些临时数据。然后堆栈又分为栈区(stack)和堆区(Heap)。栈区(stack)保存一些局部变量、临时变量,由系统自动分配空间;堆区(Heap)由用户自己分配,比如使用malloc开辟空间,使用free释放空间。栈上的空间是自动分配自动回收的,...原创 2019-06-05 17:38:24 · 2379 阅读 · 0 评论