wifi的三种工作模式
wifi的三种工作模式,WIFI无线路由器非常普及其应用相当广泛,特别是现在家庭上网应用更是必不可少,现在而今眼目下哪家只有一台电脑就能使用,下面分享wifi的三种工作模式
wifi的三种工作模式1第一种:Ad-hoc(IBSS)模式
Ad-hoc又称为独立基本业务集,用以创建一个无线网络,此网络中不需要热点(AP),此网络中的每个节点的地位都是对等的,此模式用以连接几个不能通过基站进行通信的电脑。ad-hoc模式就和以前的直连双绞线概念一样,是P2P的连接,所以也就无法与其它网络沟通了。一般无线终端设备像PMP、PSP、DMA等用的就是ad-hoc模式。
在家庭无线局域网的组建,大家都知道最简单的莫过于两台安装有无线网卡的计算机实施无线互联,其中一台计算机连接Internet就可以共享带宽。Ad-Hoc结构是一种省去了无线AP而搭建起的对等网络结构,只要安装了无线网卡的计算机彼此之间即可实现无线互联;其原理是网络中的一台电脑主机建立点对点连接相当于虚拟AP,而其它电脑就可以直接通过这个点对点连接进行网络互联与共享。
由于省去了无线AP,Ad-Hoc无线局域网的网络架设过程十分简单,不过一般的无线网卡在室内环境下传输距离通常为40m左右,当超过此有效传输距离,就不能实现彼此之间的通讯;因此该种模式非常适合一些简单甚至是临时性的无线互联需求。
第二种:WDS模式
WDS全名为无线分布式系统。以往在无线应用领域中它都是帮助无线基站与无线基站之间进行联系通讯的系统。WDS的功能是充当无线网络的中继器,通过在无线路由器上开启WDS功能,让其可以延伸扩展无线信号,从而覆盖更广更大的范围。WDS可以让无线AP或者无线路由器之间通过无线进行桥接(中继),而在中继的过程中并不影响其无线设备覆盖效果的功能。这样我们就可以用两个无线设备,让其之间建立WDS信任和通讯关系,从而将无线网络覆盖范围扩展到原来的一倍以上,大大方便了我们无线上网。
第三种:mesh模式
Mesh接口使设备之间动态建立路由,从而实现通信。无线Mesh网络中,任何无线设备节点都可以同时作为AP和路由器,网络中的每个节点都可以发送和接收信号,每个节点都可以与一个或者多个对等节点进行直接通信。这种结构的最大好处在于:如果最近的AP由于流量过大而导致拥塞的话,那么数据可以自动重新路由到一个通信流量较小的邻近节点进行传输。依此类推,数据包还可以根据网络的情况,继续路由到与之最近的下一个节点进行传输,直到到达最终目的地为止。这样的访问方式就是多跳访问。
wifi的三种工作模式21、透明传输模式
USR-WIFI232-A/B/C模块支持串口透明传输模式,可以实现串口即插即用,从而最大程度的降低用户使用的复杂度。在此模式下,所有需要收发的数据都被在串口与WiFi接口之间做透明 传输,不做任何解析。
在透明传输模式下,可以完全兼容用户原有的软件平台。用户设备基本不用做软件改动就可以实现支持无线数据传输。
透明传输模式是复杂度最少的数据传输。用户也打开串口的硬件流控(CTS/RTS)功能,这样可以使误码率降到最低。如果用户不需要串口的硬件流控功能,只需要把相应pin脚(CTS/RTS)悬空就可以。
2、串口指令模式
在此模式下,用户可以将串口的数据发往不同的服务器地址,此模式可以用udp或是tcp client向服务器发送数据。
客户MCU按照下面的格式发送数据包,模块解析完成后,只将n字节的数据发送到目标地址。当有数据返回时,不做解析直接将数据从串口输出。
3、GPIO模式
高性能WIFI模块,支持GPIO模式。GPIO模式下UART的`4个引脚定义为GPIO,nReady,nLink也定义成GPIO。
模块工作在GPIO模式时,PC或其它网络设备可以通过WIFI与模块建立连接(TCP/UDP),然后通过命令控制GPIO或读GPIO状态。命令如下:
GPIO n IN:设置GPIOn为输入,返回GPIO OK或GPIO NOK
GPIO n OUT 0:设置GPIOn为输出低电平,返回命令OK或命令NOK
GPIO n OUT 1:设置GPIOn为输出高电平,返回命令 OK或命令 NOK
GPIO n SW:设置GPIOn为输出并改变原来高低电平状态,返回GPIO OK或GPIO NOK
GPIO n PWM m1 m2:设置GPIOn输出一个高低变化的电平,m1为高电平时间,m2为低电平时间(时间单位ms,最小10 ms),返回GPIO OK或GPIO NOK
GPIO n GET:读取GPIOn状态,返回I0,I1,O0,O1分别表示输入低,输入高,输出低,输出高。
注意:n可以为3,4,5,6,8,9,与模块Pin脚对应。其中GPIO 4只能做输入,GPIO 3只能做为输出。
GPIO READ返回当前所有IO的状态,与GPIO n GET的表示方法一致。如,I1I1I0I0I0I0O1,I表示输入,O表示输出。0表示低,1表示高。
4这个引脚是取反的。读到1实际为0,读到0实际为1。
wifi的三种工作模式31、 热点模式(Access Point)。
这种模式是WIFI无线路由早期的典型工作模式。这种模式下WIFI无线路由的配置比较简单,只需配置无线SSID和安全策略即可。此时本机不具备路由功能,纯粹只相当于一个带无线接入功能的交换机。它能实现有线和无线多个设备的局域网接入。为了避免和前端网络设备的DHCP冲突,通常会关闭本机的DHCP功能。用户设备的IP地址和DNS地址需要手动配置或通过前端的DHCP自动分配。这种模式下的有线接口为LAN口。此模式适用于:商务、酒店、学校等环境的无线接入。
2、 无线路由模式(Router)。
这种模式是WIFI无线路由在家庭的典型工作模式。在这种模式下机器除具有接入交换机功能外还具备路由功能。此时有线口中应该有一个为WAN口,用于和ADSL Modem或小区有线宽带相接。WAN口能使用PPPoE协议自动登录进入ISP提供的Internet接入。多个用户设备可通过无线或有线接入本机网络,共享Internet连接。这种模式下需要配置无线SSID、无线安全策略、WAN口连接方式。通常本机的DHCP功能需要开启,所有接入用户设备的IP地址和DNS地址等通过本机的DHCP自动分配。这种模式适用于:家庭、公寓等环境的Internet共享。
3、中继模式(Repeater)。
这种模式用于扩展热点AP接入或无线路由接入模式的无线信号覆盖范围。这种模式需要设备支持WDS(Wireless Distribution System即无线分布式系统)。它是利用设备的无线接力功能,实现无线信号的中继和放大,并形成新的无线覆盖区域,最终达到延伸无线网络的覆盖范围的目的。此时SSID、安全策略和通讯信道都必须保持和前端无线路由一致,网内有线、无线的接入控制基本由前端无线路由确定。相当于是将前端无线路由器的无线或有线接入范围进行了物理距离上的延长。如果前端路由器同时支持WDS的话,甚至可以实现无线网络的无缝漫游。当然开启WDS功能后无线连接的带宽将减半。为了避免和前端无线路由的DHCP冲突,通常会关闭本机的DHCP功能。用户设备的IP地址和DNS地址需要手动配置或通过前端的DHCP自动分配。这种模式适用于:单个无线路由不能覆盖的大面积场所等。
一、 STM32的输入输出管脚有下面8种(4输入 2输出 2复用输出)可能的配置:\x0d\\x0d\ ① 浮空输入_IN_FLOATING\x0d\\x0d\ ② 带上拉输入_IPU \x0d\\x0d\ ③ 带下拉输入_IPD \x0d\\x0d\ ④ 模拟输入_AIN\x0d\\x0d\ ⑤ 开漏输出_OUT_OD \x0d\\x0d\ ⑥ 推挽输出_OUT_PP\x0d\\x0d\ ⑦ 复用功能的推挽输出_AF_PP\x0d\\x0d\ ⑧ 复用功能的开漏输出_AF_OD\x0d\\x0d\ 11 I/O口的输出模式下,有3种输出速度可选(2MHz、10MHz和50MHz),这个速度是指I/O口驱动电路的响应速度而不是输出信号的速度,输出信号的速度与程序有关(芯片内部在I/O口 的输出部分安排了多个响应速度不同的输出驱动电路,用户可以根据自己的需要选择合适的驱动电路)。通过选择速度来选择不同的输出驱动模块,达到最佳的噪声控制和降低功耗的目的。高频的驱动电路,噪声也高,当不需要高的输出频率时,请选用低频驱动电路,这样非常有利于提高系统的EMI性能。当然如果要输出较高频率的信号,但却选用了较低频率的驱动模块,很可能会得到失真的输出信号。\x0d\\x0d\ 输出速度又称输出驱动电路的响应速度,可理解为:输出驱动电路的带宽,即一个驱动电路可以不失真地通过信号的最大频率。\x0d\\x0d\ 如果一个信号的频率超过了驱动电路的响应速度,就有可能信号失真。如果信号频率为10MHz,而你配置了2MHz的带宽,则10MHz的方波很可能就变成了正弦波。就好比是公路的设计时速,汽车速度低于设计时速时,可以平稳地运行,如果超过设计时速就会颠簸,甚至翻车。\x0d\\x0d\ 关键是: GPIO的引脚速度跟应用相匹配,速度配置越高,噪声越大,功耗越大。\x0d\\x0d\ 带宽速度高的驱动器耗电大、噪声也大,带宽低的驱动器耗电小、噪声也小。使用合适的驱动器可以降低功耗和噪声。\x0d\ GPIO的引脚速度跟应用匹配(推荐10倍以上)。比如:\x0d\\x0d\ 111 对于串口,假如最大波特率只需1152k,那么用2M的GPIO的引脚速度就够了,既省电也噪声小。\x0d\\x0d\ 112 对于I2C接口,假如使用400k波特率,若想把余量留大些,那么用2M的GPIO的引脚速度或许不够,这时可以选用10M的GPIO引脚速度。\x0d\\x0d\ 113 对于SPI接口,假如使用18M或9M波特率,用10M的GPIO的引脚速度显然不够了,需要选用50M的GPIO的引脚速度。\x0d\\x0d\ 12 GPIO口设为输入时,输出驱动电路与端口是断开,所以输出速度配置无意义。\x0d\\x0d\ 13 在复位期间和刚复位后,复用功能未开启,I/O端口被配置成浮空输入模式。\x0d\\x0d\ 14 所有端口都有外部中断能力。为了使用外部中断线,端口必须配置成输入模式。\x0d\\x0d\ 15 GPIO口的配置具有上锁功能,当配置好GPIO口后,可以通过程序锁住配置组合,直到下次芯片复位才能解锁。\x0d\\x0d\二、GPIO的翻转速度指:输入/输出寄存器的0 ,1 值反映到外部引脚(APB2上)高低电平的速度手册上指出GPIO最大翻转速度可达18MHz。通过简单的程序测试,用示波器观察到的翻转时间是综合的时间,包括取指令的时间、指令执行的时间、指令执行后信号传递到寄存器的时间(这其中可能经过很多环节,比如AHB、APB、总线仲裁等),最后才是信号从寄存器传输到引脚所经历的时间。如有上拉电阻,其阻值越大,RC延时越大,即逻辑电平转换的速度越慢,功耗越大。 \x0d\\x0d\三、在STM32中如何配置片内外设使用的IO端口\x0d\\x0d\ 首先,一个外设经过 ①配置输入的时钟和 ②初始化后即被激活(开启);③如果使用该外设的输入输出管脚,则需要配置相应的GPIO端口(否则该外设对应的输入输出管脚可以做普通GPIO管脚使用);④再对外设进行详细配置。\x0d\\x0d\ 对应到外设的输入输出功能有下述三种情况:\x0d\\x0d\ ① 外设对应的管脚为输出:需要根据外围电路的配置选择对应的管脚为复用功能的推挽输出或复用功能的开漏输出。\x0d\ ② 外设对应的管脚为输入:则根据外围电路的配置可以选择浮空输入、带上拉输入或带下拉输入。\x0d\ ③ ADC对应的管脚:配置管脚为模拟输入。\x0d\\x0d\ 如果把端口配置成复用输出功能,则引脚和输出寄存器断开,并和片上外设的输出信号连接。将管脚配置成复用输出功能后,如果外设没有被激活,那么它的输出将不确定。\x0d\\x0d\四、 通用IO端口(GPIO)初始化\x0d\\x0d\ 41 GPIO初始化\x0d\\x0d\ 411 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | B | C, ENABLE):使能APB2总线外设时钟;\x0d\\x0d\ 412 RCC_ APB2PeriphResetCmd (RCC_APB2Periph_GPIOA | B | C, DISABLE):释放GPIO复位。\x0d\\x0d\ 42 置各个PIN端口(模拟输入_AIN、输入浮空_IN_FLOATING、输入上拉_IPU、输入下拉_IPD、开漏输出_OUT_OD、推挽式输出_OUT_PP、推挽式复用输出_AF_PP、开漏复用输出_AF_OD)。\x0d\\x0d\ 43GPIO初始化完成。\x0d\\x0d\五、 的GPIO *** 作函数\x0d\\x0d\uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef GPIOx, uint16_t GPIO_Pin);//读GPIO某一位的输入\x0d\\x0d\uint16_t GPIO_ReadInputData(GPIO_TypeDef GPIOx);//读GPIO的输入\x0d\\x0d\uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef GPIOx, uint16_t GPIO_Pin);//读GPIO某一位的输出\x0d\\x0d\uint16_t GPIO_ReadOutputData(GPIO_TypeDef GPIOx);//读GPIO的输出\x0d\\x0d\void GPIO_SetBits(GPIO_TypeDef GPIOx, uint16_t GPIO_Pin);//将GPIO的某个位置位\x0d\\x0d\void GPIO_ResetBits(GPIO_TypeDef GPIOx, uint16_t GPIO_Pin);//将GPIO的某个位复位\x0d\\x0d\void GPIO_WriteBit(GPIO_TypeDef GPIOx, uint16_t GPIO_Pin, BitAction BitVal);//写GPIO的某个位\x0d\\x0d\void GPIO_Write(GPIO_TypeDef GPIOx, uint16_t PortVal);//写GPIO\x0d\\x0d\ 六、管脚的复用功能 重映射\x0d\\x0d\1、复用功能:内置外设是与I/O口共用引出管脚(不同的功能对应同一管脚)\x0d\\x0d\STM32 所有内置外设的外部引脚都是与标准GPIO引脚复用的,如果有多个复用功能模块对应同一个引脚,只能使能其中之一,其它模块保持非使能状态。\x0d\\x0d\2、重映射功能:复用功能的引出脚可以通过重映射,从不同的I/O管脚引出,即复用功 能的引出脚位是可通过程序改变到其他的引脚上!\x0d\\x0d\直接好处:PCB电路板的设计人员可以在需要的情况下,不必把某些信号在板上绕一大圈完成联接,方便了PCB的设计同时潜在地减少了信号的交叉干扰。\x0d\\x0d\如:USART1: 0: 没有重映像(TX/PA9,RX/PA10); 1: 重映像(TX/PB6,RX/PB7)。\x0d\\x0d\(参考AFIO_MAPR寄存器介绍)[0,1为一寄存器的bit值]\x0d\\x0d\注 下述复用功能的引出脚具有重映射功能:\x0d\\x0d\ - 晶体振荡器的引脚在不接晶体时,可以作为普通I/O口\x0d\\x0d\ - CAN模块; - JTAG调试接口;- 大部分定时器的引出接口; - 大部分USART引出接口\x0d\\x0d\ - I2C1的引出接口; - SPI1的引出接口;\x0d\\x0d\举例:对于STM32F103VBT6,47引脚为PB10,它的复用功能是I2C2_SCL和 USART3_TX,表示在上电之后它的默认功能为PB10,而I2C2的SCL和USART3的TX为它的复用功能;另外在TIM2的引脚重映射后,TIM2_CH3也成为这个引脚的复用功能。\x0d\\x0d\(1)要使用STM32F103VBT6的47、48脚的USART3功能,则需要配置47脚为复用推挽输出或复用开漏输出,配置48脚为某种输入模式,同时使能USART3并保持I2C2的非使能状态。\x0d\\x0d\(2)使用STM32F103VBT6的47脚作为TIM2_CH3,则需要对TIM2进行重映射,然后再按复用功能的方式配置对应引脚。
在单片机控制系统中,按键通常使用GPIO引脚连接,以便单片机能够读取按键的状态并作出相应的响应。按键连接的方式通常有两种:短接方式和上拉/下拉电阻方式。
短接方式
短接方式是将按键连接到单片机的两个相邻的GPIO引脚上,当按键被按下时,两个引脚就会短接在一起,形成一个电路,单片机可以通过检测引脚之间的电平变化来检测按键的状态。这种连接方式需要使用输入模式的GPIO引脚,具体的配置 *** 作如下:
(1)选择相邻的两个GPIO引脚,一个用于连接按键的一端,另一个用于连接按键的另一端。
(2)将这两个GPIO引脚的工作模式设置为输入模式。
(3)为这两个GPIO引脚配置上拉电阻或下拉电阻,以确保在按键未被按下时,GPIO引脚处于稳定状态。
上拉/下拉电阻方式
上拉/下拉电阻方式是将按键连接到单片机的一个GPIO引脚上,并在按键与单片机之间添加一个上拉或下拉电阻。当按键未被按下时,上拉/下拉电阻会使GPIO引脚处于稳定状态,当按键被按下时,GPIO引脚的电平会发生变化,单片机可以检测到按键的状态。这种连接方式需要使用输入模式的GPIO引脚,具体的配置 *** 作如下:
(1)选择一个GPIO引脚用于连接按键。
(2)将这个GPIO引脚的工作模式设置为输入模式。
(3)为这个GPIO引脚配置上拉电阻或下拉电阻,以确保在按键未被按下时,GPIO引脚处于稳定状态。
需要注意的是,配置GPIO工作模式时,应该根据按键连接方式选择适当的工作模式和上拉/下拉电阻配置,以确保按键的正常工作。同时,也应该注意防止按键产生抖动等问题,可以通过软件消抖或硬件滤波等方法来解决。
catgpio和通过goio接口得到的值不一
在做GPIO接口对比之前,先通过一个案例介绍下GPIO的作用。如图5-16所示为ALR-9900阅读器给出的一个GPIO应用实例图,图中一个叉车载着带有标签的物品通过一个区域,被区域内的红外传感器所感应,红外传感器通过GPIO的输入口将信息传递到阅读器。阅读器被红外信号所触发启动盘点功能,发现正确的标签后通过GPIO的输出口点亮绿色指示灯,同时把标签的数据记录在阅读器的存储区。在整个叉车出/入库过程中,阅读器并未连接网络和电脑,只是通过自身的 *** 作系统进行触发工作,不仅效率高而且节省成本。许多智能仓库都是通过这样的方案实现的。

图5-16 GPIO应用实例图
如图5-17(a)为R420GPIO的输入输出示意图,图5-17(b)为ALR-9900GPIO的输入输出示意图,两者的差异体现在电气隔离方式与供电方式的不同:
R420的GPIO与内部电路之间是通过电子管直连的;ALR-9900的GPIO与内部电路通过光电耦合隔离,这样的好处是当外界设备出现故障时不会损毁阅读器内部电路,也不会带来不必要的干扰。
ALR-9900的GPIO的输出OUT需要连接额外的电源供电VDD,如图GPIO应用实例图中有一个很大的24VDC适配器供电,其输出电压可以达到24V 05A。这个输出的驱动能力很强,可以直接驱动灯柱等外围设备;相比之下R420的输出驱动能力非常弱,只够实现简单的触发功能。

(a) R420的GPIO输入输出示意图(b)ALR-9900 GPIO的输入输出示意图
图5-17R420与ALR-9900 GPIO接口对比
对比两个阅读器的GPIO,ALR-9900的要复杂很多,优点为工业级稳定性高,而R420更加简单,可以直接与许多触发设备连接,使用简单方便。市场上大多数阅读器的GPIO都是采用R420的方式。
GPIO是通用I/O的缩写,其功能类似于8051的p0-p3。通过程序控制,用户可以自由使用插针。Pin可根据实际情况用作一般输入(GPI)或一般输出(GPO)或一般输入输出(GPIO)
既然一个引脚可以用于输入、输出或其他特殊功能,那么一定有寄存器用来选择这些功能。对于输入,一定可以通过读取某个寄存器来确定引脚电位的高低;对于输出,一定可以通过写入某个寄存器来让这个引脚输出高电位或者低电位;对于其他特殊功能,则有另外的寄存器来控制它们。
扩展资料:
GPxDAT用于读写引脚,当引脚被设为输入时候,读此寄存器可知道相应引脚的电平状态高还是低,当引脚被设为输出时候,写此寄存器的位,可令引脚输出高电平还是低电平。
GPxUP寄存器某位为1时,相应管脚没有内部上拉电阻;为 0 时候 相应管脚有内部上拉电阻。
上拉电阻作用在于,当GPIO 引脚处于第三种状态时候,既不是输出高电平,也不是输出低电平。而是呈现高阻态,相当于没有接芯片。它的电平状态由上下拉电阻决定。
以上就是关于wifi的三种工作模式全部的内容,包括:wifi的三种工作模式、如何实现gpio口模式的配置、单片机控制系统中,按键应如何连接不同连接方式,配置gpio工作模式时应如何等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)