sht30的基于c51单片机驱动程序:#include#include#include"I2C.h"#include"SHT30.h"#defineuintunsignedint#defineucharunsignedcharvoiddisplay();unsignedcharcodetableduan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};uchardataDIS_ROME[6]={0,0,0,0,0,0};//显示缓存区(4)ucharDISP=0;//缓存区指针ucharSCANF=0xDF;//扫描指针sbitLED1=P1^0;sbitLED2=P1^1;sbitLED3=P1^2;sbitLED4=P1^3;sbitVOC_A=P3^5;sbitVOC_B=P3^6;sbitdula=P2^6;//IO口定义sbitwela=P2^7;sbitkey=P3^4;sbitbeep_dr=P2^3;uintpm1=0;uintpm2=0;uintpm10=0;ucharvr=0;uintintrcnt=0;bitF_1HZ;uintvoice_time_cnt;ucharUart_Buf;ucharRec_Addr=0;ucharmode=0;ucharRec_Uart=0;ucharRecive_Buf[30]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};#definekeyP34#defineconst_key_time150unsignedcharucKeySec=0;//被触发的按键编号unsignedintuiKeyTimeCnt1=0;//按键去抖动延时计数器unsignedcharucKeyLock1=0;//按键触发后自锁的变量标志unsignedchardisplaycnt=0;voidkeyscan(){if(key==1)//IO是高电平,说明按键没有被按下,这时要及时清零一些标志位{ucKeyLock1=0;//按键自锁标志清零uiKeyTimeCnt1=0;//按键去抖动延时计数器清零,此行非常巧妙,是我实战中摸索出来的。
}elseif(ucKeyLock1==0)//有按键按下,且是第一次被按下{uiKeyTimeCnt1++;//累加定时中断次数if(uiKeyTimeCnt1>const_key_time1){uiKeyTimeCnt1=0;ucKeyLock1=1;//自锁按键置位,避免不断触发ucKeySec=1;//触发1号键}}}voidkeyservice(){if(ucKeySec){displaycnt=!displaycnt;}ucKeySec=0;}voidUartInit(void)//9600bps@12.000MHz{TMOD=0x01;//设置定时器0为工作方式1TH0=0xf8;//重装初始值(65535-500)=65035=0xfe0bTL0=0x2f;SCON=0x50;TMOD=0X21;IP=0x10;//把串口中断设置为最高优先级,EA=1;ES=1;ET0=1;TR0=1;}voidT0_time(void)interrupt1//定时中断{TF0=0;//清除中断标志TR0=0;//关中断keyscan();keyservice();display();
2022/9/6 21:13:46 4KB sht30
1
基于STM32F745,移植uC/os,实现2路CAN,1路LIN,1路SPI,1路I2C,1路UART+DMA。
全代码,编译通过,提供说明文档。
实现CAN,LIN,SPI,I2C总线数据截取,通过UART+DMA方式将数据发送至电脑。
实现方式,举例:将CAN总线的数据截取到内存buff上,利用DMA+UART方式将buff数据发送至电脑。
本资源可以学习总线驱动(CAN,LIN,SPI,I2C,UART),DMA,及OS相关知识(task的创建及运转等)。
也可以用于项目base。
2022/9/6 17:33:25 62.77MB 嵌入式 源码 驱动程序 os
1
NB-IoT的中文指令集,基于BC95657SP2版本翻译的。
——————————————————————AT命令描述实现的状态3GPPCommands(27.007)AT+CGMI查询制造商IDB350+AT+CGMM查询模块型号B350+AT+CGMR查询固件版本B350+AT+CGSN查询模块序列号B350+AT+CEREG查询网络注册状态B350+AT+CSCON查询信号连接状态B350+AT+CLAC列出可用命令B350+AT+CSQ获取信号强度B350+AT+CGPADDR显示PDP地址B350+AT+COPS选择接入的网络B350+AT+CGATTPS连接或分离B350+AT+CGACT激活或停用PDP上下文B657SP1+AT+CIMI查询国际移动设备身份码B350+AT+CGDCONT定义一个PDP上下文B350+AT+CFUN设置终端功能B350+AT+CMEE报告移动终端错误B600+AT+CCLK返回当前日期和时间B656+AT+CPSMS省电模式设置B657SP1+AT+CEDRXSeDRX设置B657SP1+AT+CEER扩展错误报告B657SP1+AT+CEDRXRDPeDRX阅读动态参数B657SP1+AT+CTZR时区报告B657SP1+ETSICommands(正在开发中)AT+CSMS选择短消息服务B657SP1+AT+CNMA模块消息提示B657SP1+AT+CSCA服务中心地址B657SP1+AT+CMGS发送短消息B657SP1+AT+CMGC发送短信命令B657SP1+AT+CSODCP通过控制层发送原始数据B657SP1+AT+CRTDCP通过控制层传送终端数据B657SP1+GeneralCommands通用命令AT+NMGS发送消息到CDP服务器B350+AT+NMGR接收CDP服务器消息B350+AT+NNMI接收消息标志B350+AT+NSMI发送消息的标志B350+AT+NQMGR查询接收到的消息量B350+AT+NQMGS查询发送的消息量B350+AT+NMSTATUS信息注册状态B657SP1+AT+NRB模块重启B350+AT+NCDP配置和查询CDP服务器设置B350+AT+NUESTATS获取的操作统计B350+AT+NEARFCN指定搜素频率B350+AT+NSOCR创建SocketB350+AT+NSOST发送数据B350+AT+NSOSTF发送有标记数据B656+AT+NSORF接收命令B350+AT+NSOCL关闭SocketB350++NSONMI指示Socket消息到达(只响应)B350+AT+NPING测试IP网络连接到远程主机B350+AT+NBAND设置频段B600+AT+NLOGLEVEL设置日志级别B600+AT+NCONFIG配置模块的功能B650+AT+NATSPEED配置UART端口波特率B656+AT+NCCID卡片识别B657SP1+AT+NFWUPD通过UART更新固件B657SP1+AT+NRDCTRL控制无线配置B657SP1+AT+NCHIPINFO读取系统信息B657SP1+TemporaryCommands临时命令
2022/9/5 9:52:07 7.82MB BC95 NB-IoT NBIOT 中文指令集
1
msp430f5529的uart程序,外面包含多种发送方式和接收方式,初学者用
2022/9/3 6:28:56 13KB 5529 uart
1
串口转IAP然后到APP,上电时,进入UART到IAP,然后判断下载程序能否合法,若合法,则执行APP。
2021/9/21 18:49:32 10.23MB iap flash stm32 远程程序更新
1
该源程序包括多个VHDL源程序代码:密码锁,看门狗,电梯调度,UART等等,内附解释文档,是大家进修的好东西
2020/3/15 9:05:43 144KB VHDL源代码 UART 看门狗 密码锁
1
这是一个基于EBYTE的E108-GN01模块设计的GPS定位板。
通讯协议:支持NMEA0183V4.1和以前的版本,最大固定更新频率可以达到10Hz特性:E108-GN01是高功能的多模式卫星定位和导航芯片,高集成度低功耗和低成本。
它体积小,功耗低。
定位应用程序。
并且它提供与其他模块制造商兼容的软件和硬件接口,大大减少了用户的开发周期支持支持的定位系统:BDS/GPS/GLONASS/GALILEO/QZSS/SBAS通讯方式:UART(TXD/RXD)或GPIO指标说明:电源:电源IPPS:闪烁成功V-RF:有源天线电源TXD:数据传输黄色的卫星是北斗蓝色的卫星是GPS,镶嵌图的位置是该位置的经度和纬度。
使用Google地球,您会看到准确性非常高。
2015/9/18 18:21:36 4.73MB gps E108-GN01 电路方案
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡