STC8H试验箱例程使用VSCode+SDCC+Platformio使用库函数实现
STC8H试验箱例程使用VSCode+SDCC+Platformio使用库函数实现
在此非常感谢STC赠送的全套实验设备。
在前边的分享中提到了将自己的库提交到PlatformIO提供更多的开发者使用。
那也只是一个简单的GPIO的Demo。
该贴将逐步分享使用VSCode + SDCC + PlatformIO 使用STC提供的STC8G_H 库文件来实现STC8H 实验箱的例程。
例程文件就放在库文件的example文件夹下:
目前已经实现4个例程;
除了实现例程外,也会分享在移植的过程中遇到的小问题。
库文件地址:库文件地址
TIPS:
1、添加库函数依赖的方式:
(1)、使用pio的library向导安装:
打开PIO HOME,左侧找到Liraries,搜索需要的库:
点击需要的库名称,点击安装到目标工程:
(2)、直接在工程配置文件中,配置lib_deps 为库函数的git地址:
2、库函数中GPIO初始化的地方通过或选择多个引脚:
3、D_LED 演示:
感谢分享 更新:
04:使用T0,T1做计数器;
05:利用定时器测量脉冲宽度:
06:外部中断测试:
TIPS:
在移植06时按键不起作用,经过代码对比发现原来的实现中有 EX1=1 和 EX0 = 1 使能外部中断;但是在原来的库函数中仅有设置中断模式(上升沿、下降沿触发);
在库函数中增加设置项后成功实现功能:
原来的结构体定义:
修改后结构体定义:
加油哦利用假期弯道超车{:4_250:} 更新: https://gitee.com/dchuizi/stc8-g-h-lib.git
07:
显示效果为: 上电后显示+2秒计数, 然后睡眠2秒, 醒来再+2秒,一直重复.
08:
显示效果为:
上电后显示秒计数, 计数范围为0~255,显示在右边的3个数码管.
显示5秒后, 睡眠. 按板上的SW17、SW18唤醒, 继续计秒显示. 5秒后再睡眠.
如果MCU在准备睡眠时, SW17/SW18按着(INT0/INT1为低电平), 则MCU不睡眠, 直到INT0/INT1为高电平为止.
09:
显示效果为:
显示秒计数, 5秒后不喂狗, 等复位.
下载时, 选择时钟 24MHZ (用户可自行修改频率).
更新: https://gitee.com/dchuizi/stc8-g-h-lib.git
显示效果:
串口1全双工中断方式收发通讯程序。
通过PC向MCU发送数据, MCU收到后通过串口1把收到的数据原样返回.
上传视频,直接上传到 我们新增的 阿里云 视频 端
上传 阿里云 视频 端 按钮
神农鼎 发表于 2024-2-23 10:04
上传视频,直接上传到 我们新增的 阿里云 视频 端
上传 阿里云 视频 端 按钮
好的
更新: https://gitee.com/dchuizi/stc8-g-h-lib.git
11:串口2实验:
串口2全双工中断方式收发通讯程序。
通过PC向MCU发送数据, MCU收到后通过串口1把收到的数据原样返回.
TIP:
1: 程序中使用P46,P47用作串口RX,TX. 因此这里需要记得将P46,P47设置为准双向口;
2: 试验箱中通过J2 DB9接口来测试串口2,手上没有线的,可以直接将J7,J8 中的P46,P47通过杜邦线连接;
电脑连接Link1D, Link1D通过杜邦线连接如下图。
3:使用串口中断模式时发送完,进入中断时除了清理中断标志位。记得缓存数据发送完后清理忙标志;
页:
[1]
2