你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STM8-SO8】08-STM8L001J3的点灯

[复制链接]
slotg 发布时间:2019-2-19 23:46
本帖最后由 slotg 于 2019-2-19 23:52 编辑

测试过 SPI 之后接下来的目标是想熟悉一下 UART 的功能,由于 STM8S001J3 已经摸索了一段时间了,因此有了一个想法就是想改用 STM8L,让 STM8L001J3 与 STM8L050J3 之间透过 UART 的方式互传资料,由于我是使用库函数的方式编写程序,因此直觉上认为 STM8S 与 STM8L 的库函数使用方式应该是相同的,我下载了库 en.stsw-stm8016.zip,新建了一个 STM8L001J3 的工程文件,参考了 【STM8-SO8】01-点灯 的工程文件修改差异之后重新编译后竟然出现了错误!

P01.JPG

哦!怎么会有错误呢?查看了库函数说明文件才知道我目前使用的这个 STM8L 库跟原本使用的 STM8S 库 en.stsw-stm8069.zip 是有点不一样的!除了文字会有大小写差异之外,库函数也不是完全相同的。

比如说对于 GPIO 引脚的指定,原本是:
#define LED3_GPIO_PINS  (GPIO_PIN_5)

而现在是:
#define LED3_GPIO_PINS  (GPIO_Pin_5)

原本是:
GPIO_Init(LED3_GPIO_PORT, (GPIO_Pin_TypeDef)LED3_GPIO_PINS, GPIO_MODE_OUT_PP_LOW_FAST);

现在是:
GPIO_Init(LED3_GPIO_PORT, (GPIO_Pin_TypeDef)LED3_GPIO_PINS, GPIO_Mode_Out_PP_Low_Fast);

在 STM8S 库里使用了 GPIO_WriteReverse() 函数反转 GPIO 的输出状态,而这个函数在 STM8L 库里是没有的,因此改用了 GPIO_ToggleBits() 实现相同的功能。

main 回圈:
  1. void main(void)
  2. {

  3.   GPIO_Init(LED1_GPIO_PORT, (GPIO_Pin_TypeDef)LED1_GPIO_PINS, GPIO_Mode_Out_PP_Low_Fast);
  4.   GPIO_Init(LED2_GPIO_PORT, (GPIO_Pin_TypeDef)LED2_GPIO_PINS, GPIO_Mode_Out_PP_Low_Fast);
  5.   GPIO_Init(LED3_GPIO_PORT, (GPIO_Pin_TypeDef)LED3_GPIO_PINS, GPIO_Mode_Out_PP_Low_Fast);
  6.   
  7.   while (1)
  8.   {
  9.     GPIO_ToggleBits(LED1_GPIO_PORT, LED1_GPIO_PINS);
  10.     Delay(0xFFFF);

  11.     GPIO_ToggleBits(LED2_GPIO_PORT, LED2_GPIO_PINS);
  12.     Delay(0xFFFF);

  13.     GPIO_ToggleBits(LED3_GPIO_PORT, LED3_GPIO_PINS);
  14.     Delay(0xFFFF);   
  15.   }
  16. }
复制代码

不太能够理解同样是 STM8 的 MCU 怎么库函数会不一样呢?是不同的库由不同的团队开发,而大家的编程习惯不一样所产生的差异吗?


源代码:
B10.rar (1.12 MB, 下载次数: 84)
3 收藏 1 评论7 发布时间:2019-2-19 23:46

举报

7个回答
Kevin201707 回答时间:2019-2-20 09:51:10
关注
winddancer7 回答时间:2019-3-6 22:50:16
楼主你的主函数里不要加5秒延时吗?
slotg 回答时间:2019-3-7 08:35:00
winddancer7 发表于 2019-3-6 22:50
楼主你的主函数里不要加5秒延时吗?

程序中我没有使用到 pin1 的功能(SWIM),因此没有加上5秒的延时。
Tumizhou 回答时间:2019-11-25 20:15:41
关注
Tumizhou 回答时间:2019-11-25 20:16:57
程序中我没有使用到 pin1 的功能(SWIM),因此没有加上5秒的延时。
Tumizhou 回答时间:2019-11-25 20:17:17
为啥答复不了
Jackey_Chen-349 回答时间:2020-5-10 14:58:44
关注

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版