最近项目要求找个便宜又够用的单片机,本来是想选STC的,但其实STC也并不便宜,且调试比较麻烦,而且AD不是很好,所以选择了STM8。昨天买来了ST-LINK III,拿了一块STM8S105S4,此单片机有16K ROM,2K RAM,1K的EEPROM,带10bitADC,定时器(ICOCPWM)和SPI I2C UART通讯接口,看门狗等,封装为LQFP44。
这款单片机的供电分得很细,主电源、IO口、模拟供电都分开,这样就可以非常灵活的配置,比如模拟供电可以选用5V以扩大量程;IO口可以配置位3.3或5V以适应一些设备。上图中VDD/VSS引脚用于给内部主电压调节器(MVR)和内部低功耗电压(LPVR)调节器供电。这两个调节器的输出连接在一起,向MCU的核(CPU,FLASH和RAM)提供1.8V电源(V18)。在低功耗模式下,系统会将供电电源从MVR自动切换到LPVR以减少电流消耗。为稳定MVR,在VCAP引脚必须连接一个电容。该电容应该拥有较低的等效串联电阻值(ESR),电容最小的推荐容值为470nF。
ST-LINK III管脚定义及接法:
ST-LINK III LED灯三种状态含义:
- 常亮:目标板与ST-LINK在SWIM模式或者JTAG/SWD模式下已经通讯初始化。
- 闪烁:目标板与ST-LINK正在进行数据交换。
- 熄灭:目标板与ST-LINK没有通讯初始化。
开发平台:
还是比较习惯用IAR,查了下果然有IAR for STM8,于是下了并和谐,然后随便写了个程序,下载调试,发现出错,更新ST-LINK III的固件,无果。难道是IAR的问题?于是下载官方的STVD,安装后发现也无法下载,提示是Device Protected,原来这款芯片被保护了,于是上网查找,发现一个正解:先随便选个.s19的文件,然后在Program下选择current Tab,即写入新的程序了,然后再换IAR,成功进入调试模式。
关键字:STM8 学习笔记 初步认识
引用地址:
STM8学习笔记——初步认识
推荐阅读最新更新时间:2024-03-16 14:40
MSP430F5529 DriverLib 库函数学习笔记(五)定时器A
平台:Code Composer Studio 10.3.1 MSP430F5529 LaunchPad™ Development Kit (MSP‑EXP430F5529LP) 硬知识 定时器A具有如下特点: 4种运行模式的异步16位定时/计数器; 参考时钟源可选择配置; 高达7个可配置的捕获/比较寄存器; 可配置的PWM输出; 异步输入和输出锁存; 具有可对Timer_A中断快速响应的中断向量寄存器。 定时器A的结构框图如图所示。 定时器A 16位定时器原理 16位定时器的计数值寄存器TAR在每个时钟信号的上升沿进行增加/减少,可利用软件读取TAR寄存器的计数值。此外,当
[单片机]
STM8内部存储器结构及编程
一.STM8内部存储器结构 二.端口及外设存储区 从0X005050开始到0X0057FF结束的区间内存储的是外设的寄存器。包括:flash、ITC终端资源、RST复位、CLK时钟、WWDG窗口看门狗、IWDG独立看门狗、AWU自动唤醒单元、BEEP蜂鸣器、SPI、I2C、UART、TIM定时器、ADC、beCAN等。 三.32级中断向量 第二部分 对内部存储器编程 对存储器编程就是对存储器对应的功能寄存器的操作, 主要是为了操作flash rom、EEPROM、选线字节等存储器资源。 存储器对应的功能寄存器分为以下3各大类: 这8个寄存器每个都在stm8XXXXX.h中定义好了。我们只需读懂其每一位的意义。 附
[单片机]
MSP430F5438学习笔记1-定时器
比较模式: 这是定时器的默认模式,当在比较模式下的时候,与捕获模式相关的硬件停止工作,如果这个时候开启定时器中断,然后设置定时器终值(将终值写入TACCRx),开启定时器,当TAR的值增到TACCRx的时候,中断标志位CCIFGx置一,同时产生中断。若中断允许未开启则只将中断标志位CCIFGx置一。 例子:比较模式就像51单片机一样,要能够软件设置定时间隔来产生中断处理一些事情,如键盘扫描,也可以结合信号输出产生时序脉冲发生器,PWM信号发生器。如:不断装载TACCRx,启动定时器,TAR和TACCRx比较产生中断处理。 捕获模式: 利用外部信号的上升沿、下降沿或上升下降沿触发来测量外部或内部事件,也可以由软件停
[单片机]
stm8 IAR 编译错误atal Error[Pe035]: #error directive
这表明,没有设置该stm8单片机型号的宏 可以在下面选择一种 复制到如下图所示的地方(粗体) STM8L15X_MD 中等密度设备 STM8L15X_MDP 中等密度+的设备 STM8L15X_HD 高密度设备。 然后就可以编译了
[单片机]
STM32NET学习笔记 UDP部分
1.前言 嵌入式以太网开发是一个很有挑战性的工作。通过几个月的学习,我个人觉得大致有两条途径。第一条途径,先通过高级语言熟悉socket编程,例如C#或C++,对bind,listen,connect,accept等函数熟悉之后,应用 lwIP。第二种途径,通过分析嵌入式以太网代码,结合TCPIP协议栈规范逐步实践代码。第一种途径效率高,开发周期短,编写出来的代码性能稳定,第二种途径花的时间长,开发出来的代码功能不完善,但是由于紧紧结合TCPIP规范,可以了解的内容较多,适合学习。本文通过分析和修改AVRNET源码,逐步实现TCPIP协议栈的各个子部分,包括ETHERNET部分,ARP部分,IP部分,ICMP部分,UDP部分
[单片机]
ucOS学习笔记(4)——一步一步移植ucOS到STM32
准备工作: 1.到micrium官网下载最新的 OS在stm32上的移植资料。下载地址为: http://micrium.com/download/Micrium-ARM-OS-II-Cortex-M3.exe 2.平台搭建: a.将1下载得到的文件解压得到micrium文件夹,并在Micrium\Software\ OS-II下用UV4创建一个 OS工程,配置CPU为STM32F101C8 b.建立如图1所示的工程目录结构。其中APP层用于放置应用程序, OS用于放置所有 OS与处理器无关的源码,PORT用于放置移植 OS需要改动的文件,而BSP则用于放置系统的驱动程序,LIB为系统调用的库支持。该目录组织依据来源于micr
[单片机]
STM8的线中断和端口中断
STM8L的中断,有两种模式,分别为Pin模式和Port模式,也就是所谓线中断和端口中断。 简而言之,线中断是指所有寄存器组的同一管脚Pin的中断都使用同一中断号,如, void KEY2Init() { PB_DDR_bit.DDR2 = 0; //GPB- PIN2 设置端口PB- 2的输入输出方向寄存器为输入方向 PB_CR1_bit.C12 = 1; //GPB- PIN2 带上拉电阻输入 PB_CR2_bit.C22 = 1; //GPB- PIN2 使能外部中断 // 使用的是第二个端口作为中断 所以选择P2Is EXTI_CR1_bit.P2IS = 2;
[单片机]
I.MX6Q(TQIMX6Q/TQE9)学习笔记——新版BSP之网卡驱动移植
由于对网卡这块不是很熟悉,误以为网卡驱动也可以简单的配置下DTS就可以正常工作了,实际移植中遇到了些问题。闲话少说,下面开始tqimx6q的网卡驱动移植。 DTS编写 首先在我们的DTS中添加网卡配置,参考sabrelite的DTS,我们可以如下编写: &fec { pinctrl-names = default ; pinctrl-0 = &pinctrl_enet_1 ; phy-mode = rgmii ; status = okay ; }; 开始以为添加以上内容后编译并烧写DTB就可以正常工作了,实则不然,还需要添加PHY相关的配置代码。 PHY配置 打开arch/arm/mach-imx
[单片机]