2726|0

1412

帖子

15

TA的资源

版主

楼主
 

【Nucleo心得】+定时器 [复制链接]

   定时器一直是很有用的部件,在我们的系统中必须用到定时器。
   在STM32L053 3个通用定时器  一个低功耗定时器  一个基本定时器,两个看门狗 systick 定时器


时钟分布与控制:因为官方没找到定时启动额例子所以决定自己用定时器来写为了更好地上手寄存器操作  所以先用GPIO口上手4个配置寄存器 GPIOx_MODR GPIOx_OTYPER GPIOx_OSPEEDR GPIOx_PUDDER 2个数据寄存器GPIOX_IDRGPIOX_ODR主要特点1)输出状态:推挽输出  开漏输出(上拉 / 下拉)2)输出数据:GPIOX_ODR  或则复用功能的输出3)每个IO口可以进行速度选择4)输入:浮空 (上拉 / 下拉),模拟输入5)输入到GPIOX_IDR或则到复用功能
模式选择
结构体它已经定义好了,这是自己写的寄存器版本IO口操作,过程也是比较艰辛的,刚开始写的GPIOA->MODER=0x33333333半天一点效果都没有,原来是自己的模式选错了,而且这里的灯也是GPIOA组的,连原先的效果都看不到了,还好自己一行一行代码屏蔽,看到底是哪出了问题,这不失业为一种调试的好方法。所有的GPIOA口都和灯是一样的效果了,用示波器检测过!!!!  可以用寄存器写,放在一个.h文件里,但是这个不具备报错功能,增加了开发难度!!
定时器TIM2122工作原理图  #include "mbed.h"Ticker timer;DigitalOut led1(LED1);void attime(){   led1=!led1;    }   int main()    {      timer.attach(&attime,0.5);// miao      while(1)      {          }        }   上面是找到的一个定时器用法的例子,它是用 Ticker 声明了一个变量,这个变量的用法就是通过一个Ticker类里的一个方法 一:timer.attach(&attime,0.5)     注册了一个定时器,第一个参数中断子函数的名字,第二个参数是定时的时间单位是s 我自己通过测试找到了这个定时器用的是tim22,关闭它的允许开关这个定时器就工作不了。



此帖出自stm32/stm8论坛
点赞 关注
个人签名https://bbs.eeworld.com.cn/thread-471646-1-1.html
欢迎加入我的团队
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表