精华内容
下载资源
问答
  • dsp28335各外设实例

    2019-05-08 14:44:12
    dsp28335实例,包含adc,dma,ecan,epwm,eqep,flash等外设模块实例
  • 整理的STM8S官方驱动库合集,包含STM8S的adc,awu,beep,can,clk,exti,flash,gpio,i2c,itc,iwdg,rst,spi,tim1,tim2,tim3,tim4,tim5,tim6,uart1,uart2,uart3,uart4,wwdg外设驱动库,可直接导入IAR开发环境。
  • C2000,此处具体是TMS320F28035的数据手册大全 具体包含MCU数据手册,及MCU相关外设数据手册 包含ePWM,CLA等等,还包含有寄存器手册 压缩包内涵的pdf都有标签
  • dsp2812外设库程序

    2012-10-06 13:51:55
    快速 掌握dsp2812,免于底层寄存器开发,集中精力于算法的研究
  • LM3S系列PWM例程:PWM发生器中断等 互联IC总线(I2C) 同步串行接口(SSI) 基于《Stellaris外设驱动库》的例程 适用于LM3S615 LM3S811等单片机
  • 电信设备-包含外设移动监测控制器的新风机的数据连接系统.zip
  • 电信设备-包含外设移动监测控制器的新风机的数据传输系统.zip
  • 一个包含LCM,ds18b20,ds1302,eerom等等的电路
  • STM32操控外设什么要先使能时钟

    千次阅读 多人点赞 2019-07-30 16:17:15
    STM32操控外设什么要先使能时钟 STM32的新手,一般都会对一个问题很纠结。我也是,就是所谓的”时钟问题“。我们在尽心STM32编程时,会痛苦地发现这样一个事实:不管你要干嘛,你首先要做的一件事就是使能时钟。...

    STM32操控外设为什么要先使能时钟

    STM32的新手,一般都会对一个问题很纠结。我也是,就是所谓的”时钟问题“。我们在尽心STM32编程时,会痛苦地发现这样一个事实:不管你要干嘛,你首先要做的一件事就是使能时钟。而且可能每一次的时钟还是不同的。你就会问:为什么要使能时钟?为什么每次使能的时钟还不一样呢?为什么51单片机中没有这些鬼?
    在学51单片机的时候,基本上接触不到I/O方向和外设时钟的概念,I/O想输入就直接读,想输出就直接赋值,串口、AD转化、外部中断等等也都是想用就用,不需要单独配置时钟。这样在初学时的确方便了很多,不需要有乱七八糟的设置就能让芯片跑起来,但是随之带来的就是所谓的功耗问题。但是作为初学者,谁他妈还管这个啊?能让程序跑起来就已经让我们兴奋得几个晚上睡不着觉了。说这话不太合适,但事实上很多芯片生产厂商也不考虑这个问题。
    可是随着电子产品集成度越来越高,功耗和发热越来越严重,芯片厂商非常无奈也在开始想办法避免这个问题,而最直接的思路当然就是用多少功能就使能多少功能,对每个外设的时钟都设置了开关,让用户可以精确地控制,关闭不需要的设备,达到节省供电的目的。如果不用的就完全关闭,尽可能降低芯片功耗,所以就出现了这么多的时钟和IO配置。说白了,时钟的功能就好像是一个小开关,你要用什么寄存器就先对应的打开开关,即:使能对应的时钟。
    实际上,在这里面还涉及到一个时钟门控技术,而这又涉及到同步电路,我们都知道(默认你们都知道)在同步电路中总是有一个时钟控制。这里我就不赘述了,如果你和我一样是一个强迫症患者,请你回去翻翻一本叫《数字电子技术基础》的书,你一定可以找到答案的,相信我吧。
    到这里你就差不多能够理解为什么STM32编程需要不断地使能时钟了,因为默认情况下这些时钟都是disable的。你要使用它,当然需要enable了。如果再不明白,我就想骂了:**寄存器是由D触发器组成的,只有送来了时钟,触发器才能被改写值,这样寄存器才能工作。**只不过,在51单片机一个时钟系统把一切都包了,在STM32中,我们很明确地做好了分工,让大家各司其职,其实这样还有一个好处就是,不是每个外设都需要系统时钟那么高的频率,就像是高射炮打蚊子一个道理。

    展开全文
  • 带OTG功能安卓设备读取USB外设信息 可以通过AS调试读出 , 过滤关键字 "Li_Debug" , 一次显示使用USB外设 格式举例 厂商/VendorId: 0x10C4 产品/ProductId: 0xEA60 设备/DeviceId: 0x7D2 接口数/InterfaceCount: 1 ...
  • 选择器主要功能是:通过输入MCU/BOARD型号,或者按照特定条件(如MCU系列、FLASH大小、外设控制器数量等)来筛选符合自己条件的MCU/BOARD。 这里的选择器可以当做STM32的选型工具。   1.MCU和BOARD选择...

    说明:

    本文原创作者『strongerHuang

    首发于微信公众号『嵌入式专栏』,同时也更新在我的个人网站:EmbeddedDevelop

    标签:STM32、 STM32CubeMX、 LL库、 HAL库

     

    一、写在前面

    上一篇文章让你入门STM32CubeMX,你可能还是会觉得心里摸不到底。本文就从另外一个角度带你了解STM32CubeMX。

    本文讲述STM32CubeMX各主要界面内容,让你对STM32CubeMX这个工具有一个比较直观的认识。

     

    二、主界面

    打开STM32CubeMX,呈现的界面大致如下图,界面比较简洁。我把它划分为六大板块。

     

    1.菜单 STM32CubexMX V4版本(前面老版本)有很多功能做在菜单里面,但V5版本优化(删减)菜单,把一些常用功能做在相应界面里面了。

    菜单内容后面会单独详细讲述。

    2.社交链接 facebook(脸书)、youtube、twitter(推特)以及ST社区、官网信息等。

    相信大家都能理解,就像国内微信、微博、QQ等与ST相关的一些社交链接。

    3.面包屑导航 这个名词可能很多人没听过,英文名叫Bread crumbs,中文名叫面包屑导航。当然,可以理解为导航栏。

    进入配置界面,如下图:

     

    4.已存在工程 ·Recent Opened Projects:最近打开的项目 ·Other Projects:打开其他已存在工程

    5.新建工程 ·Start My project from MCU:从MCU开始我的项目 ·Start My project from STBoard:从ST开发板开始我的项目 这里是进入MCU/BOARD选择器,选择MCU型号和ST开发板型号(其中界面下面详细描述)。

    6.软件管理 ·CHECK FOR UPDATE:检查更新 ·INSTALL/REMOVE:安装/移除软件

    这里其实就是安装的软件进行管理,包含HAL库。安装的过程可以参看文章: STM32CubeMX系列教程02_STM32CubeMX工具、HAL库下载、安装说明

     

    三、MCU/BOARD选择器界面

    MCU和BOARD选择器的界面类似,从上面主界面第5点新建工程进入。

    选择器主要功能是:通过输入MCU/BOARD型号,或者按照特定条件(如MCU系列、FLASH大小、外设控制器数量等)来筛选符合自己条件的MCU/BOARD。

    这里的选择器可以当做STM32的选型工具。

     

    1.MCU和BOARD选择器切换 在这两种选择器之间进行切换,两种选择器界面包含类似。

    2.选择器“筛选” 筛选的方式有两种: A.通过输入型号 B.通过条件筛选

    3.描述 ·Features:选中型号MCU/板卡特征 ·Block Diagram:框图 ·Doc&Resources:文档和资源 ·Datasheet:数据手册下载(下载PDF文档) ·Buy:购买(跳入官网)

    4.MCU/BOARD列表 通过输入型号,或条件筛选之后,符合条件的MCU/BOARD列表。

    **选择器界面**动画效果:

    四、Pinout引脚输出配置

    这里翻译为引脚输出配置其实有点不正确,因为这里包含系统、外设资源、以及中间件等一些独立模块的配置

     

    这一板块的信息量比较大,使用STM32CubeMX的重点和难点大部分在这一界面

    我主要把它划分为三块:资源、配置和引脚/系统预览。可能不同系列、不同型号的MCU这里的配置信息都不同。

    这里不详细讲述,后期我会针对具体MCU实例的进行详细讲述

     

    五、时钟配置

    STM32各个系列的时钟都比较强大(请看时钟树),同时,各系列,各型号的时钟树也可能有差异。

    STM32CubeMX的时钟配置具有强大的一个功能,重点是图形化界面,让人一看就明白。

    同时,时钟配置里面有各种提示信息:比如可选择的分频倍频、最大时钟频率、警告错误提示等(如下图)。

     

    六、工程管理

    这一章节内容对工程相关的配置比较重要,大部分可以默认。主要有三部分内容:工程管理、代码生成、高级设置。

    这里内容我后面单独写一篇文章详细讲述。

     

    七、工具

    目前工具这里包含两部分内容:PCC(Power Consumption Calculator)功耗计算、DDR Test Suite

     

    PCC这个功能应该用的比较多,开发低功耗相关产品这个功能可以用上这个工具。

    DDR Test Suite是一个目前(19年3月)只针对于STM32MP1系列,其他MCU没有这个功能。

    工具这项功能后期详细讲述。

     

    八、说明

    1.该文档仅供个人学习使用,版权所有,禁止商用。

    2.本文由我一个人编辑并整理,难免存在一些错误。

    3.为了方便大家平时公交、地铁、外出办事也能用手机随时随地查看该教程,该教程同步更新于微信公众号『嵌入式专栏』,关注微信公众号回复【STM32CubeMX系列教程】即可查看全系列教程。

     

    九、最后

    我的知乎: strongerHuang
    我的博客: www.strongerhuang.com

    关注微信公众号『strongerHuang』,在底部菜单中查看更多精彩内容!

    展开全文
  • 开发环境为IAR,外设包含LED、KEY、外部中断、TIM1--4、RS232、RS485、CAN、DS18B20、ADC、DAC、TM1650、蓝牙通讯实验、LCD、OLED、flash、SD、超声波等等实验集合
  • 哼好用 来用用 下去看看 有空下去看看 哼好用 来用用 下去看看 有空下去看看 下 哼好用 来用用 下去看看 有空下去看看 下 哼好用 来用用 下去看看 有空下去看看 下
  • 里面包含chm原版文件以及解压后的网页文件,原版文件为全英文,中文可通过网页文件使用浏览器进行中文翻译。
  • 电信设备-一种包含移动终端和外设装置的传感系统及传感方法.zip
  • 该资源里面包含了TMS32C6416的开发板原理图、所有外设接口的源程序、所有6416的文档、所有外设芯片的数据手册,并介绍了如何安装下载器驱动。除了如何使用CCS软件外,该资源完全可以满足初学者的所有资料需求!...
  • 大一时积累的51单片机库函数,包含了中断、定时器,串口通信等标准外设的使用,还有1602液晶、红外解码、I2C、SPI协议、TFT液晶、DS18B20等等常用传感器的使用,代码注释非常详细。
  • UCD3138数字电源外设编程手册(中文版)doc,UCD3138是TI的数字电源控制器,提供了一流水平的针对高性能隔离电源的应用的单芯片高集成 度解决方案。其核心是数字控制环路的外设,也被称为数字电源外设(DPP)用于控制...
  • 外设的访问函数(可选):为外设提供额外的助手函数。 CMSIS为Cortex-Mx微控制器系统定义了: ● 访问外设寄存器 的通用方法和 定义异常向量 的通用方法。 ● 内核设备的寄存器名称和内核异常向量的名称。 ●...

    CMSIS包括两个部分:

    1. Cortex-M的核内外设NVIC和Systick的一些寄存器的标准接口
    2. MCU的片上外设的标准接口。

    CMSIS:Cortex Microcontroller Software Interface Standard 微控制器软件接口标准

    ARM Cortex™ 微控制器软件接口标准是== Cortex-M 处理器系列(核内设备)==的与供应商(增加片上RAM ROM FLASH 和一些外设)无关的硬件抽象层
    英文原文为:a vendor-independent hardware abstraction layer for the Cortex-M processor series and defines generic tool interfaces–来自ARM官方定义。

    使用CMSIS,可以为处理器和外设实现一致且简单的软件接口,从而简化软件的重用、缩短微控制器新开发人员的学习过程,并缩短新设备的上市时间。

    1 按提供方分类

    CMSIS是ARM公司与多家不同的芯片和软件供应商一起紧密合作定义的,提供了内核与外设、实时操作系统和中间设备之间的通用接口。
    CMSIS可以分为多个软件层次,分别由ARM公司、芯片供应商提供。

    1.1 其中ARM提供了下列部分,可用于多种编译器:

    内核设备访问层:包含了用来访问内核的寄存器设备的名称定义,地址定义和助手函数。同时也为RTOS(实时操作系统)定义了独立于微控制器的接口,该接口包括调试通道定义。
    ● 中间设备访问层:为软件提供了访问外设(核内外设NVIC、Systick 与 MCU上外设串口等)的通用方法。芯片供应商应当修改中间设备访问层,以适应中间设备组件用到的微控制器上的外设。目前中间设备访问层仍处于开发过程中,本文不做详述。

    1.2 芯片供应商扩展下列软件层:

    微控制器外设访问层:提供片上所有外设的定义(即一些外设的寄存器定义,不一定提供类似HAL的访问函数)。
    ● 外设的访问函数(可选):为外设提供额外的助手函数。

    CMSIS为Cortex-Mx微控制器系统定义了:
    访问外设寄存器的通用方法和定义异常向量的通用方法。
    ● 内核设备的寄存器名称和内核异常向量的名称。
    ● 独立于微控制器的RTOS接口,带调试通道。
    ● 中间设备组件接口(TCP/IP协议栈,闪存文件系统)。

    CMSIS包含的组件

    1. 外围寄存器和中断定义: 适用于设备寄存器和中断的一致接口
    2. 内核外设函数:特定处理器功能和内核外设的访问函数
    3. DSP 库:优化的信号处理算法,并为 SIMD 指令提供Cortex-M4 支持
    4. 系统视图说明(SVD):描述设备外设和中断的XML 文件。

    该标准完全可扩展,可确保其适合于所有 Cortex-M处理器系列微控制器,从最小的8 KB 设备到具有复杂通信外设(如以太网或USB)的设备。(内核外设函数的内存要求少于1 KB 代码,少于10 字节RAM)。

    2 按是否编译器无关分类

    2.1 独立于编译器的文件:

    ● Cortex-M3内核及其设备文件(core_cm3.h + core_cm3.c)(指的是Cortex-M微核

    • 访问Cortex-M3内核及其设备:NVIC,SysTick等
    • 访问Cortex-M3的CPU寄存器和内核外设的函数(不是片上外设

    ● 微控制器专用头文件(device.h) (指的是MCU上的外设

    • 指定中断号码(与启动文件一致)
    • 外设寄存器定义(寄存器的基地址和布局)
    • 控制微控制器其他特有的功能的函数(可选)

    ● 微控制器专用系统文件(system_device.c)(device指的是特定的MCU,比如STM32F103,ESP8266等

    • 函数SystemInit,用来初始化微控制器(不同的device的内存,时钟不一样
    • 函数Sysem_ExtMemCtl,用来配置外部存储器控制器。它位于文件 startup_stm32f10x_xx.s /.c,在跳转到main前调用
    • SystemFrequncy,该值代表系统时钟频率
    • 微控制器的其他功能(可选)

    2.2 编译器供应商+微控制器专用启动文件

    不同的编译器startup_device.s 不一样?同一个功能的C文件经过不同的编译器出来的汇编文件都是不一样的

    例如

    IAR和Keil对同一个device的启动汇编文件是不一样的。
    在这里插入图片描述

    IAR

    在这里插入图片描述

    Keil

    在这里插入图片描述
    ● 编译器启动代码(汇编或者C)(startup_device.s)

    • 微控制器专用的中断处理程序列表(与头文件一致)
    • 弱定义(Weak)的中断处理程序默认函数(可以被用户代码覆盖)

    3 整体感受

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    基于CMSIS标准的软件架

    主要有四层:

    1. 用户应用层、
    2. 操作系统层、
    3. CMSIS层
    4. 硬件寄存器层。

    CMSIS层主要分为3个部分:

    1. 核内外设访问层(CPAL),由ARM负责实现对寄存器名称、地址定义、NVIC接口等定义,统一用_INLINE屏蔽差异,其接口函数均是可重入的。
    2. 片上外设访问层(DPAL),由芯片厂商负责实现,可调用CPAL提供的接口函数处理相应的外设中断请求
    3. 外设访问函数(AFP),由芯片厂商负责,提供访问片上外设的函数

    关于几个文件

    1. core_cm0.h:文件中定义了使用的CMSIS版本、Cortex内核、工具链,提供了核内外设访问层的定义,例如核内外设的数据结构和地址映射,也提供了一些访问Cortex-M0核内寄存器及外设的静态内联函数
    2. core_cm0.c:定义了访问Cortex-M0核内寄存器的相关内部函数
    3. System_.h:中断号及外设寄存器的定义
    4. System_.c:包含初始化在内的系统函数
    5. 其他头文件则实现了片上外设访问层以及额外的访问函数的定义
    展开全文
  • ESP8266 wifi模块开发汇总

    千次阅读 多人点赞 2018-10-23 08:35:19
    * 为什么透传会丢? 因为没有设置硬件流控。如果需要避免丢,请设置硬件流控。透传功能使用的是TCP协议,每数据是1460(取决于协议栈),只要网络良好,buffer空间没有被消耗完,就可以不停地传输数据。...

                                  ESP8266 wifi模块开发汇总

     

    ESP8266 wifi模块开发汇总本文档主要介绍开发者在ESP8266开发中常见的一些问题。 这些问题主要包括以下几大类:

    • 基本概念相关
    • ESP8266 相关
    • AiCloud 相关
    • 固件编译调试相关
    • 文档资料相关

    以下是各分类的具体问题和解答。


    基本概念相关

    • ESP8266是什么?

      ESP8266 是高性能无线 SOC,在较小尺寸封装中集成了业界领先的 Tensilica L106 超低功耗 32 位微型 MCU,带有 16 位精简模式,主频支持 80 MHz 和 160 MHz,支持 RTOS,集成 Wi-Fi MAC/ BB/RF/PA/LNA,板载天线。支持标准的 IEEE802.11 b/g/n 协议,完整的 TCP/IP 协议栈。

    • ESP01, ESP02是什么?

      ESP01~ESP14是由深圳安信可科技研发生产的ESP8266系列模组,在ESP8266芯片的基础上,完善了外围器件布局和优化天线。

    • AiCloud是什么?

      AiCloud 是安信可提供给广大客户的免费服务器,数据全裸,UDP 传输,简单稳定,且含有诸多例程和 PC 端上位机调试工具。

    • 乐鑫与安信可的关系

      乐鑫是ESP8266的芯片厂商,安信可是依据ESP8266生产模组,并提供一系列开发方案的厂家。

    • ESP8266必须要借助服务器才能开发吗?

      这个根据您的需求来定,若您只需要局域网就可以满足产品需求,那么无需服务器,同样可以使用ESP8266进行开发。

    • 如何购买ESP8266模组和测试板?

      安信可官方淘宝店铺

    • 我该选择哪个型号的ESP8266模组?

      模组硬件之间的差异主要是封装区别,以及flash大小的区分,您可以查看ESP8266选型列表,若有疑问,可联系我们的销售人员。

    • 我该选择AT开发还是SDK开发?

        SDK方法:
        优势:让系统成本最少 体积最小
        劣势:新手需要一个礼拜到半个月的时间去熟悉代码的研读

        AT方法:
        优势:只需要知道几条AT指令即可用外部单片机实现网络通讯!开发速度快。
        劣势:增加了外置CPU成本

      您可以自已依此评估自己适合哪种方案

    • 我该选择FreeRTOS还是NONOS?

      因为FreeRTOS是后面才开放的,所以一般常用的是NONOS
      若是您之前有开发过FreeRTOS,那么您可以直接使用FreeRTOS方案的SDK,且该方法有利于您之后使用ESP32系列

    • 开发中,遇到问题如何寻求帮助?

      若您是企业用户,我们会专门委派一名工程师负责贵司的对接;
      若您是个人用户,您可以在论坛发帖,或发邮件到support@aithinker.com,我们也会有专门的工程师去处理。


    ESP8266 相关

    * 为什么透传会丢包?

    因为没有设置硬件流控。如果需要避免丢包,请设置硬件流控。透传功能使用的是TCP协议,每包数据是1460(取决于协议栈),只要网络良好,buffer空间没有被消耗完,就可以不停地传输数据。对于透传。串口接收的数据间隔超过20ms,就会认为 接受结束,将已经接受的数据传输至网络。如果网络不好,就可能会丢失一些数据,因此,为了避免这种情况,可以将串口设置为流控模式。

    * ESP8266可以同时使用AP+STA吗?

    ESP8266没有中继和放大功能,即不可以同时使用AP+STA。

    * ESP8266可以进行低功耗吗?

    ESP8266可以进行低功耗。AT指令进行低功耗说明:

    设置睡眠模式,sleep只在单STA模式下生效,默认工作在modem-sleep模式。 AT+SLEEP=0   0为禁止休眠模式              1为light-sleep模式  功耗0.9mA              2为modem-sleep模式  功耗15mA

    * 将建立的TCP Server 连接通过AT 指令保存到flash?

    * 如何让ESP8266上电后快速连接AP?


    外设

    *SDIO 是否支持 SD 卡?

      ESP8266 是 SDIO Slave ,不支持 SD 卡。

    *ESP8266 有几个 UART?

      ESP8266 有两个 UART,其中 UARTO 有 TX、RX,可做数据传输;UART1 由于 RX 脚被 SPI-Flash 占用,只能使用 TX,可以做串口调试信息打印。

    *GPIO 可以直接连 5V 吗?

      不可以。GPIO 只能承受 3.6V。需要通过降压电路,否则会造成 GPIO 损坏。


    硬件

    *ESP8266 电压电流需求?

      ESP8266 的数字部分的电压范围是 1.8V ~ 3.3V,模拟部分的工作电压是 3.0V ~ 3.6V,最低 2.7V。

    模拟电源峰值 350 mA,数字电源峰值 200 mA。

    注意:选择的 SPI Flash 工作电压也需要与 GPIO 的电压匹配。CHIP_EN 还是工作在 3.0 - 3.6V,使用1.8V GPIO 控制时需要注意电平转换。

    *设计 ESP8266 的供电时,需要注意哪些问题?

      请注意如下几点:1.如果是使用 LDO 变压,请确保输入电压和输出电压要足够大。2.电源轨去耦电容器必须接近 ESP8266 摆放,等效电阻要足够低。3.ESP8266 不能直连 5V 电压。4.如果是通过 DC-DC 给 ESP8266 供电,必要时要加上 LC 滤波电路。

    *ESP8266 上电时电流很大,是什么原因?

      ESP8266 的 RF 和数字电路具有极高的集成度。上电后,RF 自校准会需要大电流。模拟部分电路最大的极限电路可能达到 500 mA;数字电路部分最大电流 达到 200 mA。一般的操作,平均电流在 100 mA 左右。因此,ESP8266 需要供电能达到 500 mA,能够保证不会有瞬间压降。

    *可以使用锂电池或者 2 节 AA 纽扣电池直接给 ESP8266 供电吗?

      2 节 AA 纽扣电池可以给 ESP8266 供电。锂电池放电时压降比较大,不适合直接给 ESP8266 供电。ESP8266 的 RF 电路会受温度及电压浮动影响。不推荐不加任何校准的电源直接给 ESP8266 供电。推荐使用 DC-DC 或者 LDO 给 ESP8266 供电。

    *ESP8266 的 RAM 的使用结构是怎么的?

    ESP8266 的 RAM 总共 160 KB。

    IRAM 空间为 64 KB: 前 32 KB 用作 IRAM,用来存放没有加 ICACHE_FLASH_ATTR 的代码,即 .text 段,会通过 ROM code 或二级 boot 从 SPI Flash 中的 BIN 中加载到 IRAM。 后 32 KB 被映射作为 iCache,放在 SPI Flash 中的,加了 ICACHE_FLASH_ATTR 的代码会被从 SPI Flash 自动动态加载到 iCache。

    DRAM 空间为 96 KB: 对于 Non-OS_SDK,前 80 KB 用来存放 .data/.bss/.rodata/heap,heap 区的大小取决于 .data/.bss/.rodata 的大小;还有 16 KB 给 ROM code 使用。 对于 RTOS_SDK,96 KB 用来存放 .data/.bss/.rodata/heap,heap 区的大小取决于 .data/.bss/.rodata 的大小。


    WiFi相关

    *路由配置是正确的,但是发生找不到路由,连接失败,为什么?

    如果 SSID 和密码配置是正确的,可能的原因有 2 个。

    1.推荐使用英文字符,不要使用中文。

    2.需要注意 bssid_set 的设置,如果不需要指定路由的 MAC 地址,那么需配置 stationConf.bssid_set = 0。

    * ESP8266 SoftAP + Station 模式下网络断开或丢包的情况?

    虽然 ESP8266 支持 SoftAP + Station 共存模式,但是 ESP8266 实际只有一个硬件信道。因此在 SoftAP + Station 模式时,ESP8266 SoftAP 会动态调整信道值与 ESP8266 Station 一致。这个限制会导致 ESP8266 SoftAP + Station 模式时一些行为上的不便,用户请注意。例如:

    情况一 如果 ESP8266 Station 连接到一个路由 (假设路由信道号为 6); 通过接口 wifi_softap_set_config 设置 ESP8266 SoftAP; 若设置值合法有效,该 API 将返回 true ,但信道号仍然会自动调节成与 ESP8266 Station 接口一致,在这个例子里也就是信道号为 6。

    情况二 调用接口 wifi_softap_set_config 设置 ESP8266 SoftAP (例如信道号为 5); 其他 Station 连接到 ESP8266 SoftAP; 将 ESP8266 Station 连接到路由( 假设路由信道号为 6) ; ESP8266 SoftAP 将自动调整信道号与 ESP8266 Station 一致(信道 6); 由于信道改变,之前连接到 ESP8266 SoftAP 的 Station 的 Wi-Fi 连接断开。

    情况三 其他 Station 与 ESP8266 SoftAP 建立连接; 如果 ESP8266 Station 一直尝试扫描或连接某路由,可能导致 ESP8266 SoftAP 端的连接断开,或者 UDP 丢包,ping 丢包等情况。因为 ESP8266 Station 会遍历各个信道查找目标路由,意味着 ESP8266 其实在不停切换信道,ESP8266 SoftAP 的信道也因此在不停更改。这可能导致 ESP8266 SoftAP 端的原有连接断开,或者 UDP 丢包,ping 丢包等情况。

    这种情况,用户可以通过设置定时器,超时后调用 wifi_station_disconnect 停止 ESP8266 Station 不断连接路由的尝试;或者在初始配置时,调用 wifi_station_set_reconnect_policy 和 wifi_station_set_auto_connect 禁止 ESP8266 Station 尝试重连路由。

    *Wi-Fi 信道是什么?可以自行选择信道吗?

    信道指的是 Wi-Fi 使用的指定频段中特定频率的波段。不同国家地区使用的信道数目是不同的。您可以参考ESP8266 Wi-Fi 信道选择指南。


    应用

    *为什么云端升级需要2个 “bin” 文件?“user1.bin” 和 “user2.bin” 有什么区别?

      user1.bin 和 user2.bin 是 2 个不同的 BIN 文件。生成 user1.bin 和 user2.bin 时,必须使用相同的 Flash 和 boot 设置,以保证 OTA 升级成功。2个 BIN 文件是互补的,运行 user1.bin 的时候,升级是下载 user2.bin;运行 user2.bin 的时候,升级是下载 user1.bin。这样可以保证升级过程中,如果有掉线的情况发生,设备还是可以正常运行。


    固件编译调试相关

    * 导入工程注意事项

      工程文件的导入的注意不要有空格和中文字符,例如:C:\Users\Administrator\Desktop\sdk\esp_iot_sdk_v1.3.0

    * esp8266模组LED灯为什么上电闪一下就灭了?

      a,因为esp8266模组的LED接在GPIO2,而此IO与UART1_TX共用,此时模组上电会输出一下打印信息,所以LED会闪直到打印信息输出完毕,LED就灭了。

      b,若想查看启动信息的内容,请选择串口调试助手74880的波特率,硬件上把rst拉低再拉高,可以查看启动信息。

      c,若想通过串口调试助手发送AT指令,请切换波特率到115200,即可。

    * ESP8266启动信息说明?

    * 模组发送AT指令无响应?

    a,请选择74880的波特率,看下启动日志,把RST复位引脚拉低再拉高,可使用安信可串口调试助手进行查看,aithinker_serial_tool_v1.2.3.7z

    b,是否进入flash启动模式,GPIO15下拉,GPIO0,GPIO2上拉?

    c,是否烧录了固件?烧录配置flash size大小是否跟WiFi模组的flash一致?

    * 如何屏蔽上电打印?

    U0TXD默认上电有系统打印,对此敏感应用可通过UART的内部引脚交换功能,在初始化的时候,调用system_uart_swap函数。将 U0TXD、U0RXD 分别于U0RTS(MTDO/GPIO15)、U0CTS (MTCK/GPIO13)交换来屏蔽该上电的系统打印。 交换后,硬件上的下载管脚还是使用U0TXD + U0RXD,通信时需要将MTDO对应接到MCU的RXD,MTCK对应加到MCU的TXD。

    * 使用UART1打印日志,如何配置?

    UART1只有TX功能,可以在UART0用于通讯时做打印log用。 参考代码如下:

               void ICACHE_FLASH_ATTR uart_init_new(void)           {          // Wait for FIFOs to be emptied            UART_WaitTxFifoEmpty(UART0);            UART_WaitTxFifoEmpty(UART1);            // Configure UART settings            UART_ConfigTypeDef uart_config;            uart_config.baud_rate  = BIT_RATE_74880;            uart_config.data_bits   = UART_WordLength_8b;            uart_config.parity     = USART_Parity_None;            uart_config.stop_bits   = USART_StopBits_1            uart_config.flow_ctrl   = USART_HardwareFlowControl_None;            uart_config.UART_RxFlowThresh = 120;            uart_config.UART_InverseMask = UART_None_Inverse;            UART_ParamConfig(UART0, &uart_config);            UART_IntrConfTypeDef uart_intr;            uart_intr.UART_IntrEnMask = UART_RXFIFO_TOUT_INT_ENA | UART_FRM_ERR_INT_ENA | UART_RXFIFO_FULL_INT_ENA;            uart_intr.UART_RX_FifoFullIntrThresh = 100;            uart_intr.UART_RX_TimeOutIntrThresh = 2;            uart_intr.UART_TX_FifoEmptyIntrThresh = 20;            UART_IntrConfig(UART0, &uart_intr);            // Set UART1 for printing            UART_SetPrintPort(UART1);            // Register interrupt handler            UART_intr_handler_register(uart0_rx_intr_handler);            ETS_UART_INTR_ENABLE();           }

    * 上电为什么输出乱码?

    上电输出乱码是正常的,因为外部晶振选择是26M,请选择74880的波特率,按下复位键或把RST引脚拉低再拉高,可以看到启动信息。可使用安信可串口调试助手进行查看,aithinker_serial_tool_v1.2.3.7z

    * 为什么编译sdk的时候会发生irom0_0_seg错误?

     

    展开全文
  • STM32—DMA存储器到外设

    千次阅读 多人点赞 2019-08-01 16:19:05
    DMA(Direct Memory Access)——直接存储器存取,就像其名称一样,DMA的主要作用是搬数据,DMA可以把数据从存储器搬到外设、从外设搬到存储器、从存储器搬到存储器。DMA的特殊之处就是搬运数据不需要占用CPU,D...
  • 基于51单片机的交通灯控制系统设计

    万次阅读 多人点赞 2018-11-24 13:38:11
    设计中还外设6个按键实现对交通灯控制系统的调控作用。 电路原理图 //——————————————————————————-——————————// 相应的代码已经上传 下载地址 ...
  • STM32外设库.zip

    2020-09-13 13:10:31
    STM32F10X系列外设驱动固件库,其包含了典型STM32F10X系列外设驱动。其版本为STM32F10x_StdPerph_Lib_V3.5.0。
  • 包括本网站dsp搜到的全部资料 自己感觉一个一个的下太麻烦了 所以打包之
  • 1.STM32F1 USB外设在USB系统的位置 2.STM32F1 USB外设功能描述 3.STM32F1 USB外设主要特征 1.STM32F1 USB外设在USB系统的位置 STM32F1 USB外设实现了USB2.0全速总线和APB1总线间的接口。看不懂的话看下图。 2...
  • 该库函数为1.0版本,包含大多数外设功能,且配置简单,仅需一个函数即可完成外设配置,比官方固件库更为方便简洁。
  • STM32入门系列-学习STM32要掌握的内容

    千次阅读 多人点赞 2019-05-30 17:11:54
    STM32芯片架构 STM32F103系列芯片的系统架构如下...内核通过总线矩阵与FLASH、SRAM、外设连接。而外设包括GPIO、USART、I2C、SPI等。 STM32芯片系统结构 STM32F103 系列芯片(不包含互联网型)的系统结构如下: 从...
  • 赛普拉斯半导体(Cypress Semiconductor)推出其专为汽车应用而优化的CY7C67300 EZ-Host嵌入式USB主机/外设控制器版本。该器件符合AEC(汽车电子协会)Q100规范,提供了一个-40℃至85℃的工作温度范围。它面向汽车“信息...
  • 嵌入式USB主机/外设控制器版本。该器件符合AEC(汽车电子协会)Q100规范,提供了一个-40℃至85℃的工作温度范围。它面向汽车“信息娱乐”应用,包括实现MP3播放机、手机和GPS系统与车内无线电通信和显示系统的连接。...
  • 单片外设驱动程序源代码全集,注释特别齐全,包含常用的所有外设,C语言源码

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 50,953
精华内容 20,381
关键字:

外设包是什么