久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
miniSTM32F103使用DHT11溫度傳感器(教你改引腳)
[打印本頁]
作者:
余生喜喜
時間:
2019-3-23 15:57
標題:
miniSTM32F103使用DHT11溫度傳感器(教你改引腳)
自己在第一次使用溫度傳感器DHT11時,想不用正點原子的源程序的那個引腳,就自己改了,但是一直沒有成功,自己也移植很多次,但是都沒有成功,今天我來回給大家說說怎么改吧首先
//#define DHT11_IO_IN() {GPIOA->CRL&=0XFFFFFFF0;GPIOA->CRL|=8<<0;}
//#define DHT11_IO_OUT() {GPIOA->CRL&=0XFFFFFFF0;GPIOA->CRL|=3<<0;}
#define DHT11_IO_IN() {GPIOA->CRL&=0xFFFFF0FF;GPIOA->CRL|=0x00000800;}
#define DHT11_IO_OUT() {GPIOA->CRL&=0XFFFF0FF;GPIOA->CRL|=0x00000300;}
在這里一定要改,因為你這里一旦沒有改變,就算后面你改了引腳那些,都不會起作用,所以還請多注意
其次這里的寫法使用的時寄存器,需要對著寄存器一步步的來改
EE)6HK5PRVUZQ[M}@L}11YB.png
(55.89 KB, 下載次數: 48)
下載附件
2019-3-23 15:57 上傳
單片機源程序如下:
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "lcd.h"
#include "ds18b20.h"
#include "dht11.h"
int main(void)
{
u8 t=0;
u8 temperature;
u8 humidity;
u8 key = 0;
SystemInit();
delay_init(); //延時初始化
// NVIC_Configuration();
uart_init(9600);
LED_Init();
KEY_Init();
LCD_Init();
TIM3_PWM_Init(899,0); //不分頻。PWM頻率=72000000/900=80Khz
POINT_COLOR=RED;//設置字體為紅色
LCD_ShowString(60,50,200,16,16,"Mini STM32");
LCD_ShowString(60,70,200,16,16,"DHT11 TEST");
LCD_ShowString(60,90,200,16,16,"ATOM@ALIENTEK");
LCD_ShowString(60,200,200,16,16,"modified by Leon");
LCD_ShowString(60,110,200,16,16,"2018/7/22");
while(DHT11_Init()) //DHT11初始化
{
LCD_ShowString(60,130,200,16,16,"DHT11 Error");
delay_ms(200);
LCD_Fill(60,130,239,130+16,WHITE);
delay_ms(200);
}
LCD_ShowString(60,130,200,16,16,"DHT11 OK");
POINT_COLOR=BLUE;//設置字體為藍色
LCD_ShowString(60,150,200,16,16,"Temp: . C");
LCD_ShowString(60,170,200,16,16,"Humi: %");
while(1)
{
if(t%10==0)//每100ms讀取一次
{
DHT11_Read_Data(&temperature,&humidity); //讀取溫濕度值
LCD_ShowNum(60+40,150,temperature,2,16); //顯示溫度
LCD_ShowNum(60+40,170,humidity,2,16); //顯示濕度
}
key=KEY_Scan(0); //得到鍵值
switch(key)
{
case KEY0_PRES:
LED0=!LED0;
break;
case KEY1_PRES:
LED1=!LED1;
break;
case WKUP_PRES:
LED0=!LED0;
LED1=!LED1;
break;
default:
delay_ms(10);
}
}
}
復制代碼
所有資料51hei提供下載:
mini stm32 f103rDHT11溫濕度實驗.7z
(229.45 KB, 下載次數: 109)
2019-3-24 01:35 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
hubj627
時間:
2020-4-29 08:14
這種改變的方法極為不便。以IIC操作可以這樣改,先做好全局定義:
#define IIC_SDA_PORT GPIOD
#define IIC_SDA_PIN GPIO_Pin_4
#define IIC_SDA_SOUR GPIO_PinSource4
下面是STM32F1的配置方法
#if IIC_SDA_SOUR < 8 //PIN 0-7
#define SDA_IN() {IIC_SDA_PORT->CRL&=(~((u32)15<<(IIC_SDA_SOUR*4)));\
IIC_SDA_PORT->CRL|=(u32)8<<(IIC_SDA_SOUR*4);}
#define SDA_OUT() {IIC_SDA_PORT->CRL&=(~((u32)15<<(IIC_SDA_SOUR*4)));\
IIC_SDA_PORT->CRL|=(u32)3<<(IIC_SDA_SOUR*4);}
#else //PIN 8-15
#define SDA_IN() {IIC_SDA_PORT->CRH&=(~((u32)15<<((IIC_SDA_SOUR-8)*4)));\
IIC_SDA_PORT->CRH|=(u32)8<<((IIC_SDA_SOUR-8)*4);}
#define SDA_OUT() {IIC_SDA_PORT->CRH&=(~((u32)15<<((IIC_SDA_SOUR-8)*4)));\
IIC_SDA_PORT->CRH|=(u32)3<<((IIC_SDA_SOUR-8)*4);}
#endif
下面是F4的配置方法:
#define SDA_IN() {IIC_SDA_PORT->MODER&=~(3<<(IIC_SDA_SOUR*2));\
IIC_SDA_PORT->MODER|=0<<IIC_SDA_SOUR*2;}
#define SDA_OUT() {IIC_SDA_PORT->MODER&=~(3<<(IIC_SDA_SOUR*2));\
IIC_SDA_PORT->MODER|=1<<IIC_SDA_SOUR*2;}
調整一個引腳,只需修改對應的全局宏定義即可。關注我,編程不迷路
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产日韩欧美一区二区在线播放
|
日本久久久久久久久
|
国产在线一区观看
|
日韩免费视频一区二区
|
国产精品二区三区
|
亚洲成av人片在线观看无码
|
一级无毛片
|
国产视频一区在线
|
最新国产精品精品视频
|
全免一级毛片
|
一区二区国产精品
|
操久久
|
日韩三级免费观看
|
精品国产精品一区二区夜夜嗨
|
白浆在线
|
一区二区三区在线看
|
欧美精品一区在线观看
|
午夜久久久久久久久久一区二区
|
玖玖在线精品
|
亚洲高清在线观看
|
亚洲成人观看
|
av一级毛片
|
毛片在线看看
|
欧美一级免费
|
精品伊人
|
免费xxxx大片国产在线
|
毛片入口
|
伊人最新网址
|
秋霞电影一区二区
|
黄色网址大全在线观看
|
欧美日韩不卡合集视频
|
成人国产在线视频
|
国产美女视频黄
|
亚洲性综合网
|
亚洲一区二区免费
|
国产中文视频
|
欧美国产精品
|
日本黄色影片在线观看
|
永久www成人看片
|
日韩图区
|
午夜影院在线视频
|