A. wifi模塊怎樣與單片機連接
其實wifi模塊和單片機的通訊比較簡單,主要利用了wifi模塊的串口 (VCC 、RX、TX、GND),wifi模塊的作用就是將串口轉化成無線wifi信號http://www.hx-wulian.com/archives/254希望對你有幫助。參考https://..com/question/2203248377781690548.html
B. 打算用51單片機和ESP8266wifi模塊做個無線傳數據的東西,但是不知道怎麼控制wifi模塊發送數據
1、進入命令模式
2、AT+CWMODE設置AP模式
3、AT+CWSAP設置<ssid><passwd><channel><加密方式>
此時用手機連接步驟3設置的wifi信號
4、下載一個手機網路調試助手,查看模塊的ip和port,連接之後就可以發數據了
以上只是大致的思路和主要步驟、具體的得根據你買的模塊手冊設置
C. 單片機控制wifi模塊傳輸數據
大四學生,在做建築物聯網系統usb-wifi模塊,就是usb-單片機-wifi三者之間的信號接受和轉換,求大神指點
D. 51單片機有sip怎樣控制nRF24L01無線模塊
是SPI介面吧,就是將相應介面連接起來就行,這是發送的,如果想加按鍵,可在主函數接收前指定一個I/O口用於按鍵設置,
#include <reg52.h>
#include <intrins.h>
#include <api.h>
/***************************************************/
#define uchar unsigned char
#define TX_ADR_WIDTH 5 // 5位元組寬度的發送/接收地址
#define TX_PLOAD_WIDTH 4 // 數據通道有效數據寬度
uchar code TX_ADDRESS[TX_ADR_WIDTH] = {0x34,0x43,0x10,0x10,0x01}; // 定義一個靜態發送地址
//uchar code RX_ADDRESS[TX_ADR_WIDTH] = {0x34,0x43,0x10,0x10,0x02};
uchar RX_BUF[TX_PLOAD_WIDTH];
uchar TX_BUF[TX_PLOAD_WIDTH] = {0x22,0x34,0x56,0x78};
uchar flag;
uchar DATA = 0x01;
uchar bdata sta;
sbit RX_DR = sta^6;
sbit TX_DS = sta^5;
sbit MAX_RT = sta^4;
/**************************************************/
/**************************************************
函數: init_io()
描述:初始化IO
/**************************************************/
void init_io(void)
{
CE = 0; // 待機
CSN = 1; // SPI禁止
SCK = 0; // SPI時鍾置低
IRQ = 1; // 中斷復位
}
/**************************************************/
/**************************************************
函數:delay_ms()
描述:延遲x毫秒
/**************************************************/
void delay_ms(uchar x)
{
uchar i, j;
i = 0;
for(i=0; i<x; i++)
{
j = 250;
while(--j);
j = 250;
while(--j);
}
}
/**************************************************/
/**************************************************
函數:SPI_RW()
描述:根據SPI協議,寫一位元組數據到nRF24L01,同時從nRF24L01讀出一位元組
/**************************************************/
uchar SPI_RW(uchar byte)
{
uchar i;
for(i=0; i<8; i++) // 循環8次
{
MOSI = (byte & 0x80); // byte最高位輸出到MOSI
byte <<= 1; // 低一位移位到最高位
SCK = 1; // 拉高SCK,nRF24L01從MOSI讀入1位數據,同時從MISO輸出1位數據
byte |= MISO; // 讀MISO到byte最低位
SCK = 0; // SCK置低
}
return(byte); // 返回讀出的一位元組
}
/**************************************************/
/**************************************************
函數:SPI_RW_Reg()
描述:寫數據value到reg寄存器
/**************************************************/
uchar SPI_RW_Reg(uchar reg, uchar value)
{
uchar status;
CSN = 0; // CSN置低,開始傳輸數據
status = SPI_RW(reg); // 選擇寄存器,同時返回狀態字
SPI_RW(value); // 然後寫數據到該寄存器
CSN = 1; // CSN拉高,結束數據傳輸
return(status); // 返回狀態寄存器
}
/**************************************************/
/**************************************************
函數:SPI_Write_Buf()
描述:把pBuf緩存中的數據寫入到nRF24L01,通常用來寫入發射通道數據或接收/發送地址
/**************************************************/
uchar SPI_Write_Buf(uchar reg, uchar * pBuf, uchar bytes)
{
uchar status, i;
CSN = 0; // CSN置低,開始傳輸數據
status = SPI_RW(reg); // 選擇寄存器,同時返回狀態字
for(i=0; i<bytes; i++)
SPI_RW(pBuf[i]); // 逐個位元組寫入nRF24L01
CSN = 1; // CSN拉高,結束數據傳輸
return(status); // 返回狀態寄存器
}
/**************************************************/
/**************************************************
函數:TX_Mode()
描述:這個函數設置nRF24L01為發送模式,(CE=1持續至少10us),130us後啟動發射,數據發送結束後,發送模塊自動轉入接收模式等待應答信號。
/**************************************************/
void TX_Mode(uchar * BUF)
{
CE = 0;
SPI_Write_Buf(WRITE_REG + TX_ADDR, TX_ADDRESS, TX_ADR_WIDTH); // 寫入發送地址
SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, TX_ADDRESS, TX_ADR_WIDTH); // 為了應答接收設備,接收通道0地址和發送地址相同
SPI_Write_Buf(WR_TX_PLOAD, BUF, TX_PLOAD_WIDTH); // 寫數據包到TX FIFO
SPI_RW_Reg(WRITE_REG + EN_AA, 0x01); // 使能接收通道0自動應答
SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x01); // 使能接收通道0
SPI_RW_Reg(WRITE_REG + SETUP_RETR, 0x0a); // 自動重發延時等待250us+86us,自動重發10次
SPI_RW_Reg(WRITE_REG + RF_CH, 40); // 選擇射頻通道0x40
SPI_RW_Reg(WRITE_REG + RF_SETUP, 0x01); // 數據傳輸率1Mbps,發射功率0dBm,低雜訊放大器增益
SPI_RW_Reg(WRITE_REG + CONFIG, 0x0e); // CRC使能,16位CRC校驗,上電
CE = 1;
}
/**************************************************/
/**************************************************
函數:Check_ACK()
描述:檢查接收設備有無接收到數據包,設定沒有收到應答信號是否重發
/**************************************************/
uchar Check_ACK(bit clear)
{
while(IRQ);
sta = SPI_RW(NOP); // 返回狀態寄存器
if(MAX_RT)
if(clear) // 是否清除TX FIFO,沒有清除在復位MAX_RT中斷標志後重發
SPI_RW(FLUSH_TX);
SPI_RW_Reg(WRITE_REG + STATUS, sta); // 清除TX_DS或MAX_RT中斷標志
IRQ = 1;
if(TX_DS)
return(0x00);
else
return(0xff);
}
/**************************************************/
/**************************************************
函數:main()
描述:主函數
/**************************************************/
void main(void)
{
init_io();
while(1)
{
TX_Mode(TX_BUF);
Check_ACK(1);
delay_ms(1000);
}
}
/**************************************************/
E. 單片機無線模塊怎麼用
1、無線收發模塊採用ask方式調制,以降低功耗,當數據信號停止時發射電流降為零,數據信號與發射模塊輸入端可以用電阻或者直接連接而不能用電容耦合,否則無線收發模塊將不能正常激洞工作。數據電平應接近塵鉛逗數據模塊的實際工作電壓,以獲得較高的調制效果。
2、現在市面上的無線收發派賣模塊,都已經進行了封裝設計,跟單片機直接通過非同步串列口連接就可以,其無線工作方式由模塊內部的單片機控制。與用戶單片機的連接一般就只有電源和收、發等幾根線。
3、無線收發模塊的傳輸距離與調制信號頻率及幅度,發射電壓及電池容量,發射天線,接收機的靈敏度,收發環境有關。一般在開闊區最大發射距離約800米,在有障礙的情況下,距離會縮短,由於無線電信號傳輸過程中的折射和反射會形成一些死區及不穩定區域,不同的收發環境會有不同的收發距離。
F. 能用51單片機控制WiFi模塊嗎
51單片機的速度有些低,理論上可以控制wifi模塊,使用支持串口的wifi模塊。
G. 單片機怎麼和wifi模塊實現通訊
屬於串口通信,WiFi的輸出輸入串口與單片機的輸入出口相連,
如WiFi的TXD發,單片機的RXD收;單片機的TXD發,WiFi的RXD收,
可通過模塊對單片機寫入代碼。
WiFi把數據發送給單片機後,單片機進行數據處理,從而驅動對繼電器的開/關,led的亮/滅等。
把wifi模塊通過路由器接入雲端,並設計編寫APP。
從而實現手機遠程式控制制!
H. 單片機怎麼和wifi模塊實現通訊
其實wifi模塊和單片機的通訊比較簡單,主要利用了wifi模塊的串口 (VCC 、RX、TX、GND),wifi模塊的作用就是將串口轉化成無線wifi信號。
I. 51單片機如何控制無線超再生模塊(MX-05V和MX-FS-03V)
4個腳,其中兩個好像是GND吧?DATA接個1k的電阻接到,隨便的單片機機腳位上就好了。剩下的就是你要用它接收什麼東西了,要寫程序的。。。因為我沒看到你的MX-05V的腳點陣圖。。。。我也不好說具體怎麼接了!!
J. 怎樣實現51單片機控制無線通信模塊進行簡訊收發
單片機的串口和無線模塊的串口連,單片機串口發AT指令集來控制無線模塊發簡訊。這個很簡單,你搜搜單片機和at指令集的關鍵字。這個無線模塊相當於gps模塊或者dtu。12864接單片機的io腳,剩下只是單片機編程的事了。