-
mini2440_nrf24l01驱动
nrf24l01裸机驱动。这是一个LCD1602、nrf24l01与MCU相连,用OI口模拟SPI的一个程序,里面有定义了各硬件引脚与哪些IO口相连。
- 2022-03-07 12:36:39下载
- 积分:1
-
3D打印机控制系统固件
是网上找的3D打印机开源项目的源代码,名字叫Repetier-Firmware,对相关工程师能起到一些作用
- 2022-03-11 09:55:53下载
- 积分:1
-
tm1803驱动程序
改程序为三基色LED数码管的驱动芯片tm1803的单片机程序,单片机采用51单片机,实测是完全可以用的,没什么问题,可以改变三基色led的颜色。
- 2022-01-25 18:41:50下载
- 积分:1
-
ad7705驱动程序
这是ad7705的驱动程序,已经能够正常读写,对于想要使用这款芯片的同学这个驱动程序或许对你们应该有一定的帮助,可以供大家参考,使用的是模拟时序的方法
- 2023-08-24 08:05:03下载
- 积分:1
-
PT2313 源码
应用背景#define PT2313_ADDR 0x88 //I2C写地址
unsigned char contr[7];// = {63, 0, 31, 31, 15, 15, 3};
#pragma warn-
eeprom char mcontr[7];
#pragma warn+
extern unsigned char tda7131savecou = 0;
//unsigned char keycou = 0;
//extern unsigned int tcount = 0, keyval = 0x0f, keysta = 1, keytem = 0x0f, keycn = 22, ctrbit = 0;
static bit muteflag = 0;
#define keypin (PINC & 0x0f)
#define fcow 5
#define fvcow (fcow + 36)
#define bcow 70
#define bvcow (bcow + 36)
//#define MovLef 0x02fd
//#define MovRig 0xc23d
//#define ValAdd 0x906f
//#define ValDec 0xa857
void Radio_dsiplay(void);
/*///////////////////////////////////////////////////
四个通道衰减处理
通道0-3单独通道处理
通道4 前两通道处理
通道5 后两通道处理
通道6 四个通道同时处理
- 2023-01-08 04:20:03下载
- 积分: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
-
KiDispatchException 和 NtRaiseException inline hook
应用背景经测试可用的KiDispatchException和NtRaiseException两个函数进行了inline Hook。将异常发生时的ExceptionRecord,TrapFrame等信息写入。同时在内核栈中枚举了调用者的函数地址,并记录到文件中用以分析。由于KiDispatchException无法调试,所以你懂的。关键技术内核状态下,inline hook. 检测内核栈数据。
- 2022-08-24 11:33:00下载
- 积分:1
-
VB 文件事件记录器
这个源代码是文件系统事件记录器。当用户访问文件 (如创建、 打开、 读、 写、 删除、 等等),程序捕获这些事件,然后将其保存在 Sqlite Database.It 使用回调筛选器驱动程序。
- 2022-03-03 05:13:44下载
- 积分:1
-
基于51单片机的组合按键驱动
应用背景
此程序只要是用于组合按键扫描。类似键盘驱动。在一些按键比较紧张的场合,可以使用组合按键的方式来进行设置。
此程序可以为你提供帮助。
关键技术/******************************************************************************
* 组合按键扫描过程:
* 1、平时只要两个按键中有一个没有被按下时,按键的自锁标志,去抖动延时计数器一直被清零。
* 2、一旦两个按键都被按下,去抖动延时计数器开始在定时中断函数里累加,在还没有累加到阀值
* const_key_time12时,如果这期间由于受到外界干扰或者按键抖动,而使IO口瞬间触发为高电平,
* 这时候马上把延时计数器uiKeyTimeCnt12清零。
* 3、如果按键按下的时间超过了阀值const_key_time12,马上把自锁标志ucKeyLock12置位,
* 防止按住按键不松手后一直触发。并把ucKeySec赋值。组合按键触发。
* 4、等按键松开后,自锁标志ucKeyLock12及时清零,位下一次自锁做准备。
* 5、识别按键IO口下降沿触发的过程。
*******************************************************************************/
void key_scan()
{
if(key1 ==1||key2 == 2) // IO口高电平,说明没有按键按下,这时要及时清0一些标志位
{
ucKe
- 2022-08-12 13:36:29下载
- 积分:1
-
FPGA实现usb驱动
应用背景This is the very first officially available release of the core
- It is still under active development
- Please do not modify the sources !
- Things that are not implemented yet, or are known not to work yet:
- UTMI line/link control interface is not implemented yet. This includes:
- Detection of attach/detach
- Speed negotiation (Full/High Speed)
- USB reset
- USB suspend
- There is no logic in the core to "help" suspending it. I"m not
quite sure yet what to do in this area. (Suggestions welcomed !)
- There is no easy way to configure the core (number of endpoints,
buffer size)
- There has been absolutely no testing done on the core
关键技术This file describes the current status of the checked in HDL code.
Please su
- 2022-02-07 09:44:26下载
- 积分:1