近期集中精力做了一块STM8S系列开发板,准备基于这个开发板做一套免费的学习教程。开发板硬件改到了第三个版本,力争把功能完善。现在嘉利创打板子价格很便宜了。五块钱可以加工五只电路板,个人DIY成本可降到很低。
STM8系列的优点很多,性价比没得说,同等价格性能吊打51系列,使用iar编程,配合stlink可以硬件仿真运行。只需要一根线即可实现。还有就是外设资源丰富。
下面介绍一下开发板都包含哪些东西。
样板一共五块,全部焊接完成,测试通过都没有问题。
个人前期针对这个电路板,采用C++对STM8S的底层寄存器做了硬件抽象层,编程方式与arduino类似,后期更改以后还可以做到与arduino编程完全兼容,驱动程序通用。有兴趣的可以看一下目前的编码风格:
/************初始化函数,系统复位后只执行一次*************/
void setup()
{
//等待开机按键松开再进入主程序,再进入主程序防止误触发
while (board.key._pinLoad() == LOW)
;
//开机蜂鸣器上电0.2s
board.beep.open();
SysWait ::_wait_Ms(200);
board.beep.close();
//设置板载按键中断:下降沿触发,设置中断函数key_trigger
board.key._setTrig(Falling, &key_trigger);
//开启串口,并设置好缓存接收地址
board.serial._openSerial(115200);
board.serial._openReceive(buff);
//定时器,开启中断并设置中断函数
BspTimer1._openTimer(10000, 160);
BspTimer1._openInter(&timer1_trigger);
}
/******************************************************/
/************需要循环执行的代码部分************/
void loop()
{
board.serial._transmitString("demo test ok!!!\n");
board.status_led._pinInv();
SysWait ::_wait_Ms(200);
}
/*********************************************/
个人在工作空闲之余,会针对这个开发板做一套学习教程,从搭建开发环境开始到各种外设的应用。有兴趣的同学可以关注我跟进学习一下,为了方便大多数人跟进学习,教程分成使用寄存器和库函数两个部分版本同步跟进,暂时不做C++开发教程,有兴趣同学可以私信讨论。
开发板暂时不对外出售,设计资料(包含原理图,PCB文件,BOM表)还真整理中,开源免费提供,头条号不方便提供连接,需要资料的童鞋可以找我领取
点赞并转发,私信我发送我邮箱,我会将设计资料以邮箱形式发送。
想跟进深入学习的也可以关注我注意动态,我会不定时发送一些学习教程,按照顺序学习即可。
留言与评论(共有 0 条评论) |