网站流量统计怎么做的,槐荫区网络营销seo,app制作一个需要多少钱,paypal网站做外贸一、ds18b20
1.使用DS18B20#xff0c;半双工串行通讯方式 2.P37引脚结构图#xff1a;
上拉电阻#xff1a; 把一个信号通过一个电阻接到电源(Vcc)#xff1b; 下拉电阻#xff1a; 把一个信号通过一个电阻接到地(GND)。 作用#xff1a;维持输入管脚是一个…一、ds18b20
1.使用DS18B20半双工串行通讯方式 2.P37引脚结构图
上拉电阻 把一个信号通过一个电阻接到电源(Vcc) 下拉电阻 把一个信号通过一个电阻接到地(GND)。 作用维持输入管脚是一个稳态当上拉和下拉电阻都不开启时GPIO引脚处于浮空模式此时引脚的电压是不确定的可能会随时间改变。
3.两个或多个输出信号连接在一起可以实现逻辑“与”的功能。
拉高的过程为释放总线的过程 接收方一定要释放总线来实现接收数据 上拉电阻保证双方释放总线后总线能够呈现高电平 4.ds18b20通讯时序 初始化复位--- 写操作 --- 读操作 --- 获取温度 1初始化 代码
#define DQ_SET (P3 | (1 7))
#define DQ_CLEAR (P3 ~(1 7))
#define DQ_TST ((P3 (1 7)) ! 0)int ds18b20_reset(void)
{int t;DQ_CLEAR;Delay10us(70);DQ_SET;Delay10us(5);t 0; while(DQ_TST t 30){Delay10us(1);t;}if(t 30){return 0; }t 0; while(!DQ_TST t 30){Delay10us(1);t;}if(t 30){return 0;}return 1;
}2写入操作 代码
void write_ds18b20(unsigned char date)
{int i;for(i 0; i 8; i){if(date 1){DQ_CLEAR;_nop_();_nop_();DQ_SET;Delay10us(5); }else{DQ_CLEAR;Delay10us(5);DQ_SET; }date 1;}
}
3读操作 代码
unsigned char read_ds18b20(void)
{unsigned char ret 0;int i;for(i 0; i 8; i){DQ_CLEAR;_nop_();_nop_();DQ_SET; _nop_();_nop_();_nop_();if(DQ_TST){ret | (1 i);}Delay10us(5); }return ret;
}
4温度获取 代码
float get_temp(void)
{unsigned char tl;unsigned char th;short ret;ds18b20_reset();write_ds18b20(0XCC);write_ds18b20(0X44);Delay1ms(1000);ds18b20_reset();write_ds18b20(0XCC);write_ds18b20(0XBE);tl read_ds18b20();th read_ds18b20();ret th 8;ret | tl;return ret * 0.0625;
}
二、ARM硬件
1.soc片上芯片 2.GPIO控制soc外部引脚的高低电平 3.kernel要与外设间建立联系BUS总线 BUS总线分为AHB总线先进的高速设备和APB总线先进的低俗设备
三、ARM内核概念
1.R0~R12通用寄存器内设寄存器不可寻址
2.ALU算术逻辑单元
3.SP栈指针寄存器在硬件物理层的指针来管理栈区
4.PC程序计数器PC指到哪程序就执行到哪 PC一定会从地址0取一个指令开始执行 ARM有32位每一个指令有4个字节
5.LR链接寄存器
6.MMUmemory management unit内存管理单元内存映射
7.Cache高速缓存可以提高系统运行速率 iCache指令Cache dCache数据Cache所以ARM是哈弗结构 内核编程中打开iCache通常关闭dCache
8.CPSR程序状态寄存器
9.SPSR程序状态保护寄存器
10.ARM简介 ARM Cortex A(应用于消费类电子产品) M(应用于微控制器MAU方向如STM32) R(应用于实时性方向如军事通信) ARM的指令集版本 ARM V4 ARM V5 ARM V7
11.编译流程步骤