json stm8s103 解析

编程入门 行业动态 更新时间:2024-10-08 13:38:50

<a href=https://www.elefans.com/category/jswz/34/1771419.html style=json stm8s103 解析"/>

json stm8s103 解析

前言

文章核心

STM32的性能比Arduino的Atmel好得多,并且具有相当数量的优秀特性,这一篇中就点一下,关于如何使用Arduino IDE来编写并烧录STM32程序。

Arduino生态和STM32生态的区别?

Arduino IDE相比较Keil来说,使用更为友好并且不用考虑授权问题当然它并不适合大型工程,多数时候适合去制作拥有一两个单一功能的装置,还有就是一些创意和想法的实现,因为金字塔层级关系,使用Arduino以及Arduino IDE的人数会远远的大于STM32 和Keil/IAR,当然它从专业角度来说,并不适合商用。不过在投资人那边炫一下还是可以的,只要你是报芯片型号的话。

操作步骤

首先启动Arduino IDE,需要增加两个地址,他们都是让Arduino IDE的开发板中出现STM32型号的途径只是一个是官方维护一个算第三方吧

.json

.json

如果你要使用STM8,就用这个,其他步骤是类似的,STM8的github项目网址:

.json

然后,我们需要去下载板子的模版,打开后会自动刷新,然后选择stm32,一共有四个项目,选择包含有自己的STM32芯片型号的下载即可,

官方的多只有一些官方开发板,比如说NUCLEO系列,我手头这一个就是比较新的STM32G0

对现有的下载选项进行配置,这里提供一个参考,型号依据你的板子的型号来

在,下载之前需要先安装STM32Programmer,国内下载站地址如下

.html

下载上传成功与否,必须要按照调用的烧写器程序提示来确定,下图最下一行是Error,意思是模式不对,烧写的模式有SWD,Serial和DFU,如果你有STLINK就选择SWD,如果没有识别出来,更换USB接口再次尝试。另外就是检查烧写模式是否是SWD

上图中我使用的测试代码如下,通过STM32上面的UNO接口连接的是一个LCD Keypad Shield

#include LiquidCrystal lcd(8, 13, 9, 4, 5, 6, 7);

char msgs[5][16] = {"Right Key OK ",

"Up Key OK ",

"Down Key OK ",

"Left Key OK ",

"Select Key OK" };

int adc_key_val[5] ={50, 200, 400, 600, 800 };

int NUM_KEYS = 5;

int adc_key_in;

int key=-1;

int oldkey=-1;

void setup()

{

lcd.clear();

lcd.begin(16, 2);

lcd.setCursor(0,0);

lcd.print("ADC key testing");

}

void loop()

{

adc_key_in = analogRead(0); // read the value from the sensor

key = get_key(adc_key_in); // convert into key press

if (key != oldkey) // if keypress is detected

{

delay(50); // wait for debounce time

adc_key_in = analogRead(0); // read the value from the sensor

key = get_key(adc_key_in); // convert into key press

if (key != oldkey)

{

lcd.setCursor(0, 1);

oldkey = key;

if (key >=0){

lcd.print(msgs[key]);

}

}

}

delay(100);

}

// Convert ADC value to key number

int get_key(unsigned int input)

{

int k;

for (k = 0; k < NUM_KEYS; k++)

{

if (input < adc_key_val[k])

{

return k;

}

}

if (k >= NUM_KEYS)k = -1; // No valid key pressed

return k;

}

有时候还会出现 ST-LINK error (DEV_CONNECT_ERR) 这个问题,遇到这个问题需要排除下是否被占用比如后台开着STM32Programmer,最简单的方法是重新拔插USB接口

下载成功后的提示如下

最终,可以直接的进行显示,使用起来和Arduino一样

关于STM8的补充说明

多数操作中,STM8都是和STM32类似的,但是在烧写这一块有一些区别。首先STM8是使用STLINK来连接的,目前没有找到用BootLoader的方式进行烧写

其次,使用STLINK会没有端口这是正常的,点击烧写按钮,依然可以按计划运行

只要出现这一段话就是正常下载到STM8里面了

附带STM8S103F的Arduino引脚对应图

更多推荐

json stm8s103 解析

本文发布于:2024-02-06 06:46:12,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1747369.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:json

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!