此为本人写的MC9S12XEP100的IIC模块的硬件驱动程序。
具体参照博文https://blog.csdn.net/lin_strong/article/details/80327959,如后续有更新代码或勘误,请直接到博文里查阅,好像CSDN不允许更新/删除资源。
其中包含了驱动代码以及示例代码,示例代码包括裸奔程序的示例以及uCOS-II下的示例。
注意,代码中的裸奔程序的那个示例直接运行时会跑飞,需要在IIC.h文件中的voidnearIIC_ISR(void);这个声明前加一个interrupt才行。
在运行基于uCOS的那个示例时又得把这个interrupt去掉才行。
暂时没有找到能够很方便地切换中断声明的方法。
2024/8/15 2:57:30 2.57MB IIC总线 MC9S12XEP100 uCOS-II
1
PIC16F151X和PIC16LF151X器件:高功能RISCCPU:•优化的C编译器架构•仅需学习49条指令•可寻址最大28KB的线性程序存储空间•可寻址最大1024字节的线性数据存储空间•工作速度:-DC–20MHz时钟输入(2.5V时)-DC–16MHz时钟输入(1.8V时)-DC–200ns指令周期•带有自动现场保护的中断功能•带有可选上溢/下溢复位的16级深硬件堆栈•直接、间接和相对寻址模式:-两个完全16位文件选择寄存器(FileSelectRegister,FSR)-FSR可以读取程序和数据存储器灵活的振荡器结构:•16MHz内部振荡器模块:-可通过软件选择频率范围:31kHz至16MHz•31kHz低功耗内部振荡器•外部振荡器模块具有:-4种晶振/谐振器模式,频率最高为20MHz-3种外部时钟模式,频率最高为20MHz•故障保护时钟监视器(Fail-SafeClockMonitor,FSCM)-当外设时钟停止时可使器件安全关闭•双速振荡器启动•振荡器起振定时器(OscillatorStart-upTimer,OST)模拟特性:•模数转换器(Analog-to-DigitalConverter,ADC):-10位分辨率-最多28路通道-自动采集功能-可在休眠模式下进行转换•参考电压模块:-具有1.024V、2.048V和4.096V输出的固定参考电压(FixedVoltageReference,FVR)•温度指示器采用nanoWattXLP的超低功耗管理PIC16LF151X:•休眠模式:20nA(1.8V时,典型值)•看门狗定时器:300nA(1.8V时,典型值)•辅助振荡器:600nA(32kHz时)单片机特性:•工作电压范围:-2.3V-5.5V(PIC16F151X)-1.8V-3.6V(PIC16LF151X)•可在软件控制下自编程•上电复位(Power-onReset,POR)•上电延时定时器(Power-upTimer,PWRT)•可编程低功耗欠压复位(Low-PowerBrown-OutReset,LPBOR)•扩展型看门狗定时器(WatchdogTimer,WDT)•通过两个引脚进行在线串行编程(In-CircuitSerialProgramming™,ICSP™)•通过两个引脚进行在线调试(In-CircuitDebug,ICD)•增强型低电压编程(Low-VoltageProgramming,LVP)•可编程代码保护•低功耗休眠模式•低功耗BOR(LPBOR)外设特点:•最多35个I/O引脚和1个仅用作输入的引脚:-高灌/拉电流:25mA/25mA-可单独编程的弱上拉-可单独编程的电平变化中断(Interrupt-On-Change,IOC)引脚•Timer0:带有8位预分频器的8位定时器/计数器•增强型Timer1:-带有预分频器的16位定时器/计数器-外部门控输入模式-低功耗32kHz辅助振荡器驱动器•Timer2:带有8位周期寄存器、预分频器和后分频器的8位定时器/计数器•两个捕捉/比较/PWM(Capture/Compare/PWM,CCP)模块:•带有SPI和I2CTM的主同步串行口(MasterSynchronousSerialPort,MSSP):-7位地址掩码-兼容SMBus/PMBusTM•增强型通用同步/异步收发器(EnhancedUniversalSynchronousAsynchronousReceiverTransmitter,EUSART)模块:-兼容RS-232、RS-485和LIN-自动波特率检测-接收到启动位时自动唤醒
2023/2/9 10:11:05 5.76MB PIC16F1516 PIC16F1517 PIC16F1518 PIC16F1519
1
通俗来说,计算机外设,比如键盘发生事件(比如按下一个键)会通知到CPU,这时CPU忙完手头的指令,就会转而执行对应的中缀程序。
这句话太通俗,太笼统。
那么下面细说。
2016/5/12 17:47:50 28KB os hardware
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡