-
stm32驱动16个舵机
stm32的四个定时器通过16路的PWM控制舵机运转
- 2022-07-08 21:48:11下载
- 积分:1
-
MPC565 CAN驱动程序
MPC565的CAN总线驱动,包括SJA1000和TOUCAN的。
代码详细,注释清楚。非常可靠,经过工程使用。
- 2022-03-17 21:16:41下载
- 积分:1
-
TI的EEG采集芯片ADS1299初始化使用
资源描述STM32操作ADS1299,包含初始化、启动、停止函数
- 2022-08-16 20:28:41下载
- 积分:1
-
软件定时器
应用背景
我们在做单片机程序时,经常会用到多个定时器,这时我们就需要各个配置多个不同的TIMER,有时TIMER不够用,有时TIMER配置过多,标志过多,程序写着写着就乱了,就算是理清了,也会造成程序可读性差,可移植性低,对硬件依赖性强的缺点。
为了解决这个问题,我们可以用程序实现一个软件定时器,在内存允许的范围内,它可以实现无数个定时器、计数器功能,当需要一个定时器,只需要在程序里定义一个定时器变量,通过不同接口的调用,就可以实现定时功能;实现这一功能,只需要占用一个硬件定时器即可,大大减少了硬件TIMER的占用,提高了程序的可移植性,降低程序的复杂度。
关键技术
在这里,我们需要借鉴操作系统架构里的系统嘀嗒功能。先初始化一个硬件TIMER作为系统的心跳,用这个TIMER来驱动一个全局变量sys_pulse的递增;然后利用程序来查询变量当前值判断系统程序的执行时间,从而得现时间的间隔,再通过事件发送程序来通知任务定时已到。
一个软件定时器变量,至少需要包括三个元素,开始时间start_time,定时时长interval,事件内容event;
每当程序启动一个定时器,将当前系统的sys_pulse值赋于开始时间变量start_time, 设定定时器的定时时长interval, 和事件内容event, 然后在主循环里不断查询sys_pulse 是否大于 start_timer + interval,如果大于,则表明此定时器定时结束,然后调用事件发送函数告诉任务,定时已到,开始执行任务。
如果用户要移植此程序,只需要修改timer_init()内硬件TIMER的初始化程序即可,其它内容可以直接引用,不需要修改。
&
- 2023-04-15 22:30:04下载
- 积分:1
-
CPU 信息德尔菲
Editor 的检讨后,你会得到 0 10 CF 硬币。您的源代码,你会得到更多的 CF 硬币质量越好。请仔细填写以下各节。
- 2022-02-13 13:33:34下载
- 积分:1
-
洗衣机C语言代码
全自动洗衣机的设计
(1)全自动洗衣机的设计
设计一个用单片机控制的洗衣机控制器.以单片机为主控制器,扩展必要的外部电路,设计制作一个洗衣机控制器。
(2)洗涤三个控制按钮
(标准方式):洗涤12 分钟;漂洗5 分钟二次;脱水3 分钟。
(轻柔方式):洗涤3 分钟;漂洗3 分钟,二次;脱水2 分
- 2023-01-03 06:35:03下载
- 积分:1
-
接口液晶显示屏日立 HD77480 (16 x 2) 与 PIC16F877
接口液晶显示屏日立 HD77480 (16 x 2) 与 pic16f877 单片机。8 和 4 位函数和函数来生成字符。
- 2023-04-02 11:25:03下载
- 积分:1
-
文件夹隐藏
利用驱动实现文件的隐藏主要是在IRP_MJ_DIRECTORY_CONTROL的后操作回调函数中处理其输入参数FLT_CALLBACK_DATA结构中的缓冲区数据。该缓冲地址的获取是重点,Data->Iopb->Parameters.DirectoryControl.QueryDirectory.DirectoryBuffer(或MdlAddress)网上现有代码不支持XP以上版本的原因是Vista或Win7返回的FileInformationClass结构不再是FileBothDirectoryInformation,而是FileIdBothDirectoryInformation
- 2023-08-17 22:55:02下载
- 积分:1
-
STM32USart代码
资源描述本代码为自己编写的STM32寄存器版本的串口程序
- 2022-08-20 20:31:13下载
- 积分:1
-
8806控制器代码
8806的控制器代码,基于LPC2468,控制驱动320X240的LCD屏的代码,通俗易懂。适合初学者学习使用。
- 2022-11-17 04:50:03下载
- 积分:1