-
用户态直接访问,使用内核提供的驱动程序dev-interface注意,不要直接使用read(),write()操作函数,直接使用i2c_smbus_write_word_data,i2c_smbus_read_word_data。官方文档给了说明,如下驱动程序编译进内核才有效,I2c-dev.c依赖于那些配置项,查看makefilemakemenuconfig,搜索CONFI...[详细]
-
简介:PIC单片机应用问答1、PIC单片机振荡电路中如何选择晶体?对于一个高可靠性的系统设计,晶体的选择非常重要,尤其设计带有睡眠唤醒(往往用低电压以求低功耗)的系统。这是因为低供电电压使提供给晶体的激励功率减少,造成晶体起振很慢或根本就不能起振。这一现象在上电复位时并不特别明显,原因时上电时电路有足够的扰动,很容易建立振荡。在睡眠唤醒时,电路的扰动要比上电时小得多,起振变得很不容易。在...[详细]
-
以前学习51的时候为了调试机械臂角度编写的程序,用在开发板上也比较方便,但是由于是普通的舵机,不是总线的,所以需要自己洞洞板焊一个供电带电路。单片机源程序如下:#includereg52.h#includelcd1602.h#defineucharunsignedchar#defineuintunsignedintsbitduoji0=P2^0;...[详细]
-
串口(UART)1.UART概述串口其实就是一种通信协议。什么是通信协议?通信双方在数据交流的过程中需要遵守的规则。1.1补充(常用通信协议分类及其特征介绍)1.同步、异步同步:通信双方在同一个时钟脉冲下进行通信异步:通信双方的时钟脉冲由各自提供2.单工、半双工、全双工单工:在一个通信系统中,发送数据的一方叫发送发,接受数据的一方叫接受方,一旦角色确定...[详细]
-
ORG000H;设置起始地址START:MOVA,#0FFH;向A寄存器中载入十六进制数0FFHD2:SUBBA,#1;A寄存器中数据减一callDE;调入延时程序(修改延时时间可以实现水滴效果)MOVR1,A;将寄存器A...[详细]
-
#includeat89X52.hsbitLCD_RS=P2^0;sbitLCD_RW=P2^1;sbitLCD_E=P2^2;sbitADC_CS=P2^3;sbitADC_WR=P3^6;sbitADC_RD=P3^7;#defineLCD_DATAP0unsignedcharLcdBuf1=;u...[详细]
-
原理搞清楚了,那么下面我们就先编写一个独立按键的程序,把最基本的功能验证一下。#includereg52.hsbitADDR0=P1^0;sbitADDR1=P1^1;sbitADDR2=P1^2;sbitADDR3=P1^3;sbitENLED=P1^4;sbitLED9=P0^7;sbitLED8=P0^6;sbitLED7...[详细]
-
摘要:AVR单片机是Atmel公司推出的一个单片机系列。由于该系列单片机的集成度高,因此,其软/硬件设计都变得更加简洁。文中介绍通过AVR单片机的捕获中断来实现红外线通讯解码的一种方法。
关键词:AVR;红外线解码;输入捕获中断
1红外线编码
红外线编码是数据传输和家用电器遥控常用的一种通讯方法,其实质是一种脉宽调制的串行通讯。家电遥控中常用的红外线编码电路有μPD6121G型HT62...[详细]
-
STM32的EXTI控制器支持19个外部中断/事件请求。每个中断设有状态位,每个中断/事件都有独立的触发和屏蔽设置。STM32的19个外部中断对应着19路中断线,分别是EXTI_Line0-EXTI_Line18:线0~15:对应外部IO口的输入中断。线16:连接到PVD输出。线17:连接到RTC闹钟事件。线18:连接到USB唤醒事件。触发方式:STM32的...[详细]
-
刚刚接触STM8单片机,之前一直在Linux下开发,一时有点懵逼了,于是把自己的一些学习过程记录下来,希望对与像我这样的门外汉有所帮助。1、安装IAR软件:百度一下,一大堆的安装教程,我安装了2.0以上的版本,需要license,我用注册机生成的注册码填进去,一直提示注册码无效,没办法使用,最后只能安装1.42版本的IAR,(安装时记得安装ST-LINK驱动);2、在IAR中创...[详细]
-
引言电子密码锁是现代生活中常用的加密工具。它克服了机械式密码锁密码量少、安全性能差的缺点,尤其是微控制器的智能电子密码锁;不仅具有电子密码锁的功能”还可引人智能化管理功能,从而使密码锁具有更离的安全性和可靠性。电子密码锁通常使用ARM和单片机控制,单片机相对ARM实现较为简单,功能较为完善,因此使用单片机控制较多。用单片机控制的窖码锁常使用汇编语言编写程序,显示器多数用数码管。而本文所介...[详细]
-
LPC1768微处理器包括4个外部中断,分别是EINT0、EINT1、EINT2、EINT3对应的引脚分别是P2.10~P2.13,这几个引脚也可以作为通用IO口使用。名个外部中断可以设置成低电平/高电平或上升沿/寄存器名称描述功能默认值EXTINT外部中断标志寄存器设置或查看中断标志0x00EXTMODE外部中断模式寄存器设置电平触发或边沿触发0x0...[详细]
-
1.出现这个错误先查自己对应的芯片的资料有没有这个串口,因为有的芯片有的串口不一样。2.在options里面去调整为自己芯片的型号3.进入stm8s.h文件中调整为自己对应的芯片类型这3个地方,如果修改过来了,就不会出现这个问题了...[详细]
-
今天学完STM32的SysTick时钟,(24位递减计数器)现在总结如下:首先SysTick时钟包含一下四个寄存器(1),STK_CSR地址为0xE000E010----控制寄存器STK_CSR中有以下四位具有意义,使用的时候需要配置(1),第0位:SysTick使能位(0-关闭功能,1-开启功能)(2),第1位:SysTick中断使能位(0-关闭...[详细]
-
上期为大家讲解了GD32MCU复位包括电源复位和系统复位,其中系统复位还包括独立看门狗复位、内核软复位、窗口看门狗复位等,在一个GD32系统中,如果莫名其妙产生了MCU复位,如何排查具体是由哪个复位源导致的呢?GD32MCU贴心的为大家提供了一个查看复位源的寄存器,如下图所示,该寄存器的bit26-bit31显示各种复位状态,其中LPRSTF表示发生过低功耗复位、WWDGTRSTF表示...[详细]