一.前言 今天,我们来学习几乎所有单片机都有的功能,定时器的使用,定时器对单片机来说是相当重要的,有了它,单片机就可以进行一些复杂的工作. 二.原理与分析 谈到定时器的控制,我们最先想到的是要给它赋初值和选择工作模式吧,下面我带大家熟悉一下cc2530中的定时器寄存器. 如上图所见,DIV寄存器用来确定定时器运行一次所需的时间,MODE用来选择定时器的工作模式. 定时器中断的标志位,有中断发生时,置为1 三.程序 #include <ioCC2530.h> #define uint unsig…
一.前言 上次我们学习了了用定时器3进行查询方式来进行溢出判断,今天我们来换一种方式,用中断方式来检测和查询定时器3的溢出. 二.原理与分析 要使用定时器3,我们必须先要配置的是T3CTL,来把定时器3初始化,进行工作模式和频率的选择,要使用中断模式来控制定时器3,我们还要配置中断的控制寄存器,T3IE和总中断EA.T3CTL的配置和上次的一样. 三.程序 #include <ioCC2530.h> #define uint unsigned int #define uchar unsigne…
一.对象图导航查询 对象图导航查询方式是根据已经加载的对象,导航到他的关联对象.它利用类与类之间的关系来查询对象.比如要查找一个联系人对应的客户,就可以由联系人对象自动导航找到联系人所属的客户对象.当然,前提是必须在对象关系映射文件上配置了多对一的关系.其检索方式如下所示: LinkMan linkMan = session.get(LinkMan.class, 1l); Customer customer = linkMan.getCustomer(); 二.OID检索方式 OID检索方式主要…
一.前言 通过上次的学习,我们学习了如何用按键控制led,但是在实际应用中,这种查询方式占用了cpu的时间,如果通过中断控制就可以解决这个问题,我们今天就来学习按键控制的中断方式. 二.原理分析 传统的51单片机如果要使用中断,也要对相应的寄存器进行控制,cc2530芯片也不例外,而且相对复杂.需要配置多个中断寄存器,下面来一一介绍. 这个寄存器是来控制端口0中断使能的,要开启中断,应设为1. 这个是配置各种中断使能的,我们只需要配置P0IE. 这个是配置中断触发方式的,根据上次的按键原理图,我…
一.前言 通过上次的实验,我们已经学会了定时器3的中断方式,这次,我们来看看定时器1通过中断怎么控制. 二.原理分析 定时器1的初始化跟前面提到的一样,也是要配置寄存器T1CTL,还要进行开中断的操作,由T1IE和EA控制. 三.程序 #include <ioCC2530.h> #define uint unsigned int #define uchar unsigned char //定义控制LED灯的端口 #define LED1 P1_0 //定义LED1为P1_0口控制 #defin…
#include<reg52.h> #define uchar unsigned char #define uint unsigned int void main (void) { uchar i=0; TMOD=0x01; //使用定时器T0的模式1 TH0=(65536-50000)/256; //定时器T0的高8位赋值 TL0=(65536-50000)%256; //定时器T0的低8位赋值 TR0=1; //启动定时器T0 TF0=0; //定时器的溢出标志位 先清零 P0=0xff;…
一.前言 经过上次的学习,相信大家已经初步学会使用zigbee协议进行发送和接受数据了.今天,我们要进行的实验是按键的实验,学会如何在协议栈里实现按键中断. 二.实验功能 在协议栈上实现按键中断,BUT1 按下,LED1 闪烁两次. 三.代码讲解 大家还记得,前面做过的按键实验是怎么配置的吗,其实基于zigbee的协议栈原理是差不多的,我们要对按键的接口和状态是差不多,TI已经为我们建立了专用的按键配置的代码文件,我们只要在此基础上修改就行了.先打开hel_key.c进行修改,下面是代码 #de…
一.前言 通过上次的学习,相信大家对cc2530单片机的定时器的使用有了一定的了解,今天我们来介绍定时器3的使用,为什么介绍定时器3呢,因为它和定时器4功能是差不多的,所以学会定时器3,就基本掌握了cc2530定时器的使用. 二.原理分析 我们要使用定时器3,就要先配置控制它的寄存器T3CTL,下面给出寄存器的介绍 跟定时器3有关的还有IRCON这个寄存器,下面给出介绍 之前定时器1的查询,是直接访问IRCON寄存器所进行的,这次我们要通过标志位T3IF来进行查询. 三.程序 #include…
系列文章: FastAPI 学习之路(一)fastapi--高性能web开发框架 FastAPI 学习之路(二) FastAPI 学习之路(三) FastAPI 学习之路(四) FastAPI 学习之路(五) 本次分享的是分享的是查询参数,字符串的校验. 我们看一个demo. from typing import Optional from fastapi import FastAPI app = FastAPI() @app.get("/items/") def update_ite…
在项目开发过程中,查询占了很大的一个比重,一个框架的好坏也很多程度上取决于查询的灵活性和效率.在IBatis.Net中提供了方便的数据库查询方式. 在Dao代码部分主要有两种方式:1.查询结果为一个对象:                 ISqlMapper sqlMap = sqlMapDaoSession.SqlMap;                return (Account) sqlMap.QueryForObject("GetAccountViaColumnName", …