本帖最后由 Mango! 于 2017-4-14 12:43 编辑 peter58 发表于 2017-4-12 19:56 根据机智云的文档, 机智云存的是正整数。 所以 需要根据偏移 和 分辨率做转换。以兼容负数和小数。 我这个数据点范围是-10 ~ 40 分辨率0.1 , 偏移量则是-10 可根据各自数据点的设置自己修改 /app/driver/ds18b20.c 344行 读数341*0.1-10 = 24.1度 给几个例子 44数值*0.1-10 =-5.6℃ 498数值*0.1-10=39.8℃ (-8.5℃+10)/0.1 =数值15 (17.3℃+10)/0.1 =数值273 |
张师傅的小跟班 发表于 2018-3-23 10:25 以下是输出控制 PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO0_U, FUNC_GPIO0); GPIO_OUTPUT_SET(GPIO_ID_PIN(0), level); PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0TXD_U, FUNC_GPIO1); //TXD GPIO_OUTPUT_SET(GPIO_ID_PIN(1), level); PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO2_U, FUNC_GPIO2); GPIO_OUTPUT_SET(GPIO_ID_PIN(2), level); PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0RXD_U, FUNC_GPIO3); //RXD GPIO_OUTPUT_SET(GPIO_ID_PIN(3), level); PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO4_U, FUNC_GPIO4); GPIO_OUTPUT_SET(GPIO_ID_PIN(4), level); PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO5_U, FUNC_GPIO5); GPIO_OUTPUT_SET(GPIO_ID_PIN(5), level); PIN_FUNC_SELECT(PERIPHS_IO_MUX_SD_DATA2_U, FUNC_GPIO9); GPIO_OUTPUT_SET(GPIO_ID_PIN(9), level); PIN_FUNC_SELECT(PERIPHS_IO_MUX_SD_DATA3_U, FUNC_GPIO10); GPIO_OUTPUT_SET(GPIO_ID_PIN(10), level); PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDI_U, FUNC_GPIO12); GPIO_OUTPUT_SET(GPIO_ID_PIN(12), level); PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTCK_U, FUNC_GPIO13); GPIO_OUTPUT_SET(GPIO_ID_PIN(13), level); PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTMS_U, FUNC_GPIO14); GPIO_OUTPUT_SET(GPIO_ID_PIN(14), level); PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDO_U, FUNC_GPIO15); GPIO_OUTPUT_SET(GPIO_ID_PIN(15), level); gpio16_output_conf(); gpio16_output_set(level); 以下是输入采集 PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO0_U, FUNC_GPIO0); result = GPIO_INPUT_GET(GPIO_ID_PIN(0)); PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0TXD_U, FUNC_GPIO1); //TXD result = GPIO_INPUT_GET(GPIO_ID_PIN(1)); PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO2_U, FUNC_GPIO2); result = GPIO_INPUT_GET(GPIO_ID_PIN(2)); PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0RXD_U, FUNC_GPIO3); //RXD result = GPIO_INPUT_GET(GPIO_ID_PIN(3)); PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO4_U, FUNC_GPIO4); result = GPIO_INPUT_GET(GPIO_ID_PIN(4)); PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO5_U, FUNC_GPIO5); result = GPIO_INPUT_GET(GPIO_ID_PIN(5)); PIN_FUNC_SELECT(PERIPHS_IO_MUX_SD_DATA2_U, FUNC_GPIO9); result = GPIO_INPUT_GET(GPIO_ID_PIN(9)); PIN_FUNC_SELECT(PERIPHS_IO_MUX_SD_DATA3_U, FUNC_GPIO10); result = GPIO_INPUT_GET(GPIO_ID_PIN(10)); PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDI_U, FUNC_GPIO12); result = GPIO_INPUT_GET(GPIO_ID_PIN(12)); PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTCK_U, FUNC_GPIO13); result = GPIO_INPUT_GET(GPIO_ID_PIN(13)); PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTMS_U, FUNC_GPIO14); result = GPIO_INPUT_GET(GPIO_ID_PIN(14)); PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDO_U, FUNC_GPIO15); result = GPIO_INPUT_GET(GPIO_ID_PIN(15)); gpio16_input_conf(); result = gpio16_input_get(); |
楼主没给硬件接线图;从“数据点”备注中可以看出来。 18B20接GPIO5; LED接GPIO12; Switch接GPIO14; 按键KEY接GPIO4; |
gpio接线图在哪 |
asydxl 发表于 2023-5-8 10:53 只要你愿意,记事本也可以写 |
正在下载,阅读学习 |
学习下....................... |
收藏 正想试试 |
请问下载下来的东西如何使用啊,比如下载方面,以及修改为自己的密钥,我修改后编译发现没有新的BIN文件生成是怎么回事啊,用的是安信可提供的那个eclipse开发环境,跪求啊: |
老师: 源码 github:https://github.com/535/GizAsst,网页无法访问,你是否可上传一个,QQ:2194498187 谢谢! |
不错,顶顶顶顶顶顶顶顶顶顶顶顶 |
谢谢分享! 按照楼主指点在/app/driver/ds18b20.c 344行下面加了一条指令: temp=(temp*0.1)-10; 温度正值显示正常,负值并没有出现,而是大于4000的数值: -1度 对应 4095 -2度 对应 4094 -3度 对应 4093 -4度 对应 4092 ... ... 需要心算才能知道零下的度数,呵呵!几次改动程序没有成功。 请高手指点,多谢! |
Mango! 发表于 2017-4-14 12:34 按照指点在/app/driver/ds18b20.c 344行下面加了一条指令: temp=(temp*0.1)-10; 温度正值显示正常,负值并没有出现,而是大于4000的数值: -1度 对应 4095 -2度 对应 4094 -3度 对应 4093 -4度 对应 4092 ... ... 需要心算才能知道零下的度数,呵呵!几次改动程序没有成功。 |
添加设备时,一直在等待设备就绪是怎么回事呢? |
Mango! 发表于 2017-4-14 12:34 兄弟,我这边用了楼主的驱动代码,但是数据总是会显示两个,来回发送,为啥啊 |
楼主,您好。有个问题请教您一下、DS18B20直接接到GPIO5上么?它可以取代DHT11?还有里边的程序需要改动多少呢?谢谢您了 |
本帖最后由 王狗狗 于 2018-11-13 16:12 编辑 楼主,您好,有个问题请教您一下。直接将DS18B20接到GPIO5?它可以直接替换DHT11么?还有里边的程序需要改动多少?这样就可以显示温度的数值了么? |
把Ds18B20直接接到GPIO5上就可以,直接用的DHT11的程序就能读出来数字?(暂时不考虑温度是否正确) |
做这个最缺是脚位接线图。 |
66666666666 |
我想设置-55到70度。直接套用你的就行吗?谢谢 |
peter58 发表于 2017-4-27 17:28 temp=(temp*0.0625) 就行了 |
谢谢楼主的无私奉献 |
版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )