学习笔记(17)

 

单表的增删查改。用到layer插件。

如果数据库没信息的先做新增,这是避免垃圾数据产生,主键的ID还不能确定,先做新增主键ID由数据库生成,查询就可以获取到每条数据的ID,手动添加的主键ID一般都是123的下去,有些的数据库主键ID为1,在加一条就1001了,在或者其他的数字,特别是多表新增,和二表绑一表的数据,手动添加的数据大多数都是不认的。

单表查询难度为0,就orderby一下,喜欢根据什么来排列就什么。

新增只要确保数据不重复。

修改后的id不能相等,修改后的数据不能重复

删除根据自己的需求删除,比如A表用到B表的数据,这样B表能删除,A表不能删。

 

 

很简单。

 

 

以下是基于STM32智能药箱中,DHT11药品环境监测模块的主要代码: ``` #include "dht11.h" #include "delay.h" #define DHT11_IO_IN() {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=(u32)8<<28;} #define DHT11_IO_OUT() {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=(u32)3<<28;} u8 DHT11_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStructure); DHT11_IO_OUT(); DHT11_DOUT_1; delay_ms(1000); return DHT11_Check(); } u8 DHT11_Check(void) { u8 retry=0; DHT11_IO_IN(); while (DHT11_DIN&&retry<100) { retry++; delay_us(1); } if(retry>=100)return 1; else retry=0; while (!DHT11_DIN&&retry<100) { retry++; delay_us(1); } if(retry>=100)return 1; return 0; } u8 DHT11_Read_Bit(void) { u8 retry=0; while(DHT11_DIN&&retry<100) { retry++; delay_us(1); } retry=0; while(!DHT11_DIN&&retry<100) { retry++; delay_us(1); } delay_us(40); if(DHT11_DIN)return 1; else return 0; } u8 DHT11_Read_Byte(void) { u8 i,dat; dat=0; for (i=0;i<8;i++) { dat<<=1; dat|=DHT11_Read_Bit(); } return dat; } u8 DHT11_Read_Data(u8 *temperature,u8 *humidity) { u8 buf[5]; u8 i; DHT11_DOUT_1; DHT11_Check(); buf[0]=DHT11_Read_Byte(); buf[1]=DHT11_Read_Byte(); buf[2]=DHT11_Read_Byte(); buf[3]=DHT11_Read_Byte(); buf[4]=DHT11_Read_Byte(); if(buf[0]+buf[1]+buf[2]+buf[3]==buf[4]) { *humidity=buf[0]; *temperature=buf[2]; return 0; } else return 1; } ``` 这段代码主要包括了DHT11模块的初始化、检测、读取等功能。其中,DHT11_Init()函数用于初始化DHT11模块;DHT11_Check()函数用于检测DHT11模块是否正常工作;DHT11_Read_Bit()函数和DHT11_Read_Byte()函数用于读取模块返回的数据;DHT11_Read_Data()函数用于读取温湿度数据,并将其传递给主程序进行处理。 需要注意的是,这段代码中使用了一些宏定义,如DHT11_IO_IN()、DHT11_IO_OUT()、DHT11_DOUT_1等,这些宏定义需要在其他文件中进行定义和声明。同时,这段代码中使用了stm32f10x.h库,需要在工程中添加该库文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值