[经验] STM8小青蛙之再战江湖

long521   2020-3-28 10:06 楼主

    好久没用过STM8了,因为工作需要写了用STM8S103 36PIN芯片的仪表.主要用到串口和另一块主控板通讯,还有二个IO作为输出,一块8X6的数码屏,为了省事,直接103驱动数码,用了14P的管脚,然后通讯用了2P管脚,然后按键用了3P引脚.再就是检测一些状态和一些AD之类的,用了16P管脚,为了省事,直接上了一颗36PIN,没有使用数码屏驱动芯片.但是在网上查了资料很是担心,因为我要用到EEPROM存储仪表的设置,网上百度到资料说要3MS的时间,这样和我扫描LED的时间有点点的冲突,现在产品做好了,幸好屏没有闪,还是可以用的.

      因为好久没用这颗芯片了,重新去网上下载了STM8的经典工具小青蛙,小青蛙有两个版本,一个1.0,一个是2.0对应于1.0库和2.0库,但是现在STM8最新的是2.2的库了,我重新用了2.2的库,然后小青蛙用2.0生成了函数输出,对了现在其实STM8也有CUBE,可以用这个工具,也很方便的.小青蛙其实是第一次用,以前STM8是汇编写的,那时STM8的芯片刚出来,网上有一篇STVD的教程,就按那个教程搭好,直接汇编撸的.这次当然是用C开发了,所以第一次用小青蛙,很方便,其实会玩STM32,也不需要小青蛙,STM8和STM32太相似了!!

      把官网上载的解压,里面有库,把库放到自己的工程中,然后新建工程,再设置路径和选择STLINK工具,就可以了.然后就是不停地撸代码,写了也将近2周了,终于所有功能测试OK,特意EE发贴.

       下面是这次用STM8遇到的一些问题,首先我以前用STM8有一个特别深的印象,那个VCAP脚的电容,非常难搞,因为质量,我用了直插的电容,结果1UF的电容,直接仿真器上仿真就失败了,后面换成了684电容可以仿真,现改成了684电容.

       第二.我修改了库IO函数

        BitStatus GPIO_ReadInputPin(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef GPIO_Pin)  {  
         return ((GPIOx->IDR & (uint8_t)GPIO_Pin) ? SET : RESET); }

     我在网上查到这里要改成这样,因为我有一个IO是高低一次要计数,我放在MAIN的WHILE中计数值有点误差,后面改了这个函数.但是还是有疑惑,但目前能用,就改成这样.

      第三.第3点是我的一个忽视了,有一个脚和芯片通讯没加上拉电阻,我加了了,可以用芯片通讯了.

     一起发贴,分享经验,一个忠实的EE粉丝,

                             作者:很酷的蜜蜂猪.

    

我是一头搞电子的猪,猪是一种好色的动物,猪八戒就是代表.       

回复评论 (10)

汇编大神。
点赞  2020-3-28 10:17
引用: freebsder 发表于 2020-3-28 10:17 汇编大神。

只会一点点汇编!

我是一头搞电子的猪,猪是一种好色的动物,猪八戒就是代表.       
点赞  2020-3-28 10:43

酷叔,那个函数以前是啥样的,为啥要修改呀;

点赞  2020-3-28 11:55
引用: lcofjp 发表于 2020-3-28 11:55 酷叔,那个函数以前是啥样的,为啥要修改呀;

BitStatus GPIO_ReadInputPin(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef GPIO_Pin)  
{  
    return ((BitStatus)(GPIOx->IDR & (uint8_t)GPIO_Pin));  
}

 

我是一头搞电子的猪,猪是一种好色的动物,猪八戒就是代表.       
点赞  2020-3-28 12:54
引用: lcofjp 发表于 2020-3-28 11:55 酷叔,那个函数以前是啥样的,为啥要修改呀;

设为上拉输入的时候,在检测到低电平后,并没有及时恢复到高电平的状态,相当于低电压来的时候,检测有点异常.

我是一头搞电子的猪,猪是一种好色的动物,猪八戒就是代表.       
点赞  2020-3-28 12:55
引用: lcofjp 发表于 2020-3-28 11:55 酷叔,那个函数以前是啥样的,为啥要修改呀;

队长,请叫我蜜蜂猪,蜜蜂是勤劳的表现,猪是因为我喜欢猪八戒.以后就叫我蜜蜂猪.

我是一头搞电子的猪,猪是一种好色的动物,猪八戒就是代表.       
点赞  2020-3-28 13:00
引用: long521 发表于 2020-3-28 13:00 队长,请叫我蜜蜂猪,蜜蜂是勤劳的表现,猪是因为我喜欢猪八戒.以后就叫我蜜蜂猪.

勤劳的酷叔你好,原来这个函数是可以读取多个引脚输入状态的,你改了之后只能读取一个了

点赞  2020-3-28 14:42

汇编啥的,我以前也蛮熟悉的,感觉挺拿手 的,现在居然忘的蛮多的,说到103不知道哪里有齐全的入门实验贴,感觉网上现在的测评之类的都没学习性,高深的也看不大明白

点赞  2020-3-28 21:46

蜜蜂猪你好!

生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙 =================================== 做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰
点赞  2020-5-8 09:07
引用: chenzhufly 发表于 2020-5-8 09:07 蜜蜂猪你好!

柱哥好

我是一头搞电子的猪,猪是一种好色的动物,猪八戒就是代表.       
点赞  2020-5-12 13:54
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复