無線模塊編程
『壹』 大家來說一下,433M無線通信模塊程序怎麼寫
1、433M無線通信模塊的程序是根據通信晶元的編程資料和你需要收發的數據來編寫的。
2、需要外加一個單片機來進行數據收發控制和設置通信晶元的。
3、如果通信晶元不需要設置,那麼就可以直接將所需要收到的數據送到通信晶元的RXD腳即可。
『貳』 用52單片機控制一個開關,為了達到利用WIFI模塊控制單片機的C語言編程,謝謝大神,急!
你用什麼wiFI模塊啊,你買模塊的時候,廠家不都給文檔的么,你看文檔寫啊
『叄』 您好,我最近在做一個有關無線收發模塊編程的東西,希望得到您的幫助.
具體什麼問題,說出來啊。
『肆』 2.4G模塊 NRF24l01+ 2.4G無線模塊 匯編語言C語言軟體編程問題軟體開發
藍牙,電腦通過藍牙控制單片機非常簡單的!
手機就更簡單了!
『伍』 西門子gpsr無線通訊模塊怎麼編程
1.最簡單的方法:
publicstaticStringreverse1(Stringstr)
{
returnnewStringBuffer(str).reverse().toString();
}
2.最常用的方法:
publicstaticStringreverse3(Strings)
{
char[]array=s.toCharArray();
Stringreverse="";//注意這是空,不是null
for(inti=array.length-1;i>=0;i--)
reverse+=array[i];
returnreverse;
}
3.常用方法的變形:
publicstaticStringreverse2(Strings)
{
intlength=s.length();
Stringreverse="";//注意這是空,不是null
for(inti=0;i<length;i++)
reverse=s.charAt(i)+reverse;//在前面連接,而非常見的後面
returnreverse;
}
4.C語言中常用的方法:
publicstaticStringreverse5(Stringorig)
{
char[]s=orig.toCharArray();
intn=s.length-1;
inthalfLength=n/2;
for(inti=0;i<=halfLength;i++){
chartemp=s[i];
s[i]=s[n-i];
s[n-i]=temp;
}
returnnewString(s);//知道char數組和String相互轉化
}
『陸』 利用無線數傳模塊進行PLC編程
1.如果你不在PLC那一端安裝什麼模塊或者什麼東西的話你是肯定不能實現你把無線數傳模塊一插就可以編程的。
2.一個比較實際的辦法就是用現有的PPI電纜為基礎。在你的電腦這端做一個無線發送裝置,電腦這邊的無線發送裝在在電腦中得被識別為COM口,PLC那段做一個無線接收裝置,然後無線接收裝置接收到數據後轉換成串口數據,然後再傳給PPI編程電纜。但是這個實在是麻煩。
3.我覺得PPI協議也許並沒有那麼神秘,他雖然不公開但是現在用的編程電纜有不少國產的,使用效果也不錯,所以找找PPI協議也許就好多了。
『柒』 無線模塊e31-ttl-50的編程
#include<iterator>
template<typenamebiIter>
voidinsertion_sort(biIterbegin,biIterend)
{
typedeftypenamestd::iterator_traits<biIter>::value_typevalue_type;
biIterbond=begin;
std::advance(bond,1);
for(;bond!=end;std::advance(bond,1)){
value_typekey=*bond;
biIterins=bond;
biIterpre=ins;
std::advance(pre,-1);
while(ins!=begin&&*pre>key){
*ins=*pre;
std::advance(ins,-1);
std::advance(pre,-1);
}
*ins=key;
}
}
『捌』 單片機控制無線串口模塊該怎樣去編程
串口wifi具體型號,如果是rm04模塊
直接通過at指令設置主路由器的ssid跟密碼,連接上之後再配置成tcp伺服器模式,再使用串口透傳功能即可實現收發網路上的所有數據。
『玖』 80C51編寫的24L01無線模塊程序
//發送程序
#include<reg52.h>
#include<intrins.h>
typedefunsignedcharuchar;
typedefunsignedcharuint;
sbit CE =P1^;
sbit CSN =P1^2;
sbit SCK =P1^3;
sbit MOSI =P1^4;
sbit MISO =P1^5;
sbit IRQ =P1^6;
ucharTxBuf2[1]={0};
#defineTX_ADR_WIDTH5 //5uintsTXaddresswidth
#defineRX_ADR_WIDTH5 //5uintsRXaddresswidth
#defineTX_PLOAD_WIDTH1 //20uintsTXpayload
#defineRX_PLOAD_WIDTH1 //20uintsTXpayload
uintconstTX_ADDRESS[TX_ADR_WIDTH]={0x34,0x43,0x10,0x10,0x01}; //本地地址
uintconstRX_ADDRESS[RX_ADR_WIDTH]={0x34,0x43,0x10,0x10,0x01}; //接收地址
#defineREAD_REG0x00 //讀寄存器指令
#defineWRITE_REG0x20 //寫寄存器指令
#defineRD_RX_PLOAD0x61 //讀取接收數據指令
#defineWR_TX_PLOAD0xA0 //寫待發數據指令
#defineFLUSH_TX0xE1 //沖洗發送FIFO指令
#defineFLUSH_RX0xE2 //沖洗接收FIFO指令
#defineREUSE_TX_PL0xE3 //定義重復裝載數據指令
#defineNOP0xFF //保留
#defineCONFIG0x00//配置收發狀態,CRC校驗模式以及收發狀態響應方式
#defineEN_AA0x01//自動應答功能設置
#defineEN_RXADDR0x02//可用信道設置
#defineSETUP_AW0x03//收發地址寬度設置
#defineSETUP_RETR0x04//自動重發功能設置
#defineRF_CH0x05//工作頻率設置
#defineRF_SETUP0x06//發射速率、功耗功能設置
#defineSTATUS0x07//狀態寄存器
#defineOBSERVE_TX0x08//發送監測功能
#defineCD0x09//地址檢測
#defineRX_ADDR_P00x0A//頻道0接收數據地址
#defineRX_ADDR_P10x0B//頻道1接收數據地址
#defineRX_ADDR_P20x0C//頻道2接收數據地址
#defineRX_ADDR_P30x0D//頻道3接收數據地址
#defineRX_ADDR_P40x0E//頻道4接收數據地址
#defineRX_ADDR_P50x0F//頻道5接收數據地址
#defineTX_ADDR0x10//發送地址寄存器
#defineRX_PW_P00x11//接收頻道0接收數據長度
#defineRX_PW_P10x12//接收頻道0接收數據長度
#defineRX_PW_P20x13//接收頻道0接收數據長度
#defineRX_PW_P30x14//接收頻道0接收數據長度
#defineRX_PW_P40x15//接收頻道0接收數據長度
#defineRX_PW_P50x16//接收頻道0接收數據長度
#defineFIFO_STATUS0x17//FIFO棧入棧出狀態寄存器設置
voidDelay(unsignedints);
voidinerDelay_us(unsignedcharn);
voidinit_NRF24L01(void);
uintSPI_RW(uintuchar);
uintSPI_RW_Reg(ucharreg,ucharvalue);
uintSPI_Write_Buf(ucharreg,uchar*pBuf,ucharuchars);
voidnRF24L01_TxPacket(unsignedchar*tx_buf);
voidDelay(unsignedints)
{
unsignedinti;
for(i=0;i<s;i++);
for(i=0;i<s;i++);
}
uint bdatasta;//狀態標志
sbit RX_DR =sta^6;
sbit TX_DS =sta^5;
sbit MAX_RT =sta^4;
voidinerDelay_us(unsignedcharn)
{
for(;n>0;n--)
_nop_();
}
voidinit_NRF24L01(void)
{
inerDelay_us(100);
CE=0;//chipenable
CSN=1;//Spidisable
SCK=0;
SPI_RW_Reg(WRITE_REG+CONFIG,0x0e);//SetPWR_UPbit,enableCRC(2bytes)&
SPI_RW_Reg(WRITE_REG+EN_AA,0x01);
SPI_RW_Reg(WRITE_REG+EN_RXADDR,0x01);//EnablePipe0
SPI_RW_Reg(WRITE_REG+SETUP_AW,0x02);//Setupaddresswidth=5bytes
SPI_RW_Reg(WRITE_REG+SETUP_RETR,0x1a);//500us+86us,10retrans...
SPI_RW_Reg(WRITE_REG+RF_CH,0);
SPI_RW_Reg(WRITE_REG+RF_SETUP,0x07);//TX_PWR:0dBm,Datarate:1Mbps,
SPI_RW_Reg(WRITE_REG+RX_PW_P0,RX_PLOAD_WIDTH);
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);//CE=1;//
}
uintSPI_RW(uintuchar)
{
uintbit_ctr;
for(bit_ctr=0;bit_ctr<8;bit_ctr++)//output8-bit
{
MOSI=(uchar&0x80);//output'uchar',MSBtoMOSI
uchar=(uchar<<1);//shiftnextbitintoMSB..
SCK=1;//SetSCKhigh..
uchar|=MISO; //capturecurrentMISObit
SCK=0; //..thensetSCKlowagain
}
return(uchar); //returnreachar
}
uintSPI_RW_Reg(ucharreg,ucharvalue)
{
uintstatus;
CSN=0;//CSNlow,initSPItransaction
status=SPI_RW(reg);//selectregister
SPI_RW(value);//..andwritevaluetoit..
CSN=1;//CSNhighagain
return(status);//returnnRF24L01statusuchar
}
uintSPI_Write_Buf(ucharreg,uchar*pBuf,ucharuchars)
{
uintstatus,uchar_ctr;
CSN=0;//SPI使能
status=SPI_RW(reg);
for(uchar_ctr=0;uchar_ctr<uchars;uchar_ctr++)//
SPI_RW(*pBuf++);
CSN=1;//關閉SPI
return(status);//
}
voidnRF24L01_TxPacket(unsignedchar*tx_buf)
{
CE=0; //StandByI模式
SPI_Write_Buf(WRITE_REG+RX_ADDR_P0,TX_ADDRESS,TX_ADR_WIDTH);//裝載接收端地址
SPI_Write_Buf(WR_TX_PLOAD,tx_buf,TX_PLOAD_WIDTH); //裝載數據
SPI_RW_Reg(WRITE_REG+CONFIG,0x0e); //IRQ收發完成中斷響應,16位CRC,主發送
CE=1; //置高CE,激發數據發送
inerDelay_us(10);CE=0;SPI_RW_Reg(WRITE_REG+STATUS,0XFF);
}
voidmain(void)
{
uchara=0;
init_NRF24L01();
Delay(6000);
while(1)
{
Delay(1000);
if(a==100)a=0;
*TxBuf2=a;a++;
nRF24L01_TxPacket(TxBuf2);
}
}