无线模块编程
『壹』 大家来说一下,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);
}
}