微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > 射频无线通信设计 > Open1081 第二周来熟悉外设/API

Open1081 第二周来熟悉外设/API

时间:10-02 整理:3721RD 点击:

里面虽然是一个标准的芯片,但是分了几个区段.


  • 0x08000000 - 0x08003FFF 是Bootloader,可以改,调试时候不推荐改.
  • 0x08004000 - 0x0800BFFF 是OTA信息.
  • 0x0800C000 - 0x08060000 是用户自由分配程序区段.
  • 0x08060000 - 0x080C0000 是OTA时候的储存空间.
  • 0x080C0000 - 0x080FFFFF 射频驱动程序,不能改哦.
那么说,其实在忽略了Bootloader的前提下,我们可以获得更多的空间,我们暂时认为是一个独立的芯片.我们拿到了一块MX1081评估板,但是臃肿的结构,我表示很不满.所以我就建立一个新的工程,现在干净一些,也是为了后来更好查BUG.芯片选STM32F215RG,全局预定义是EMW3161 USE_STDPERIPH_DRIVER.对我日后有用的,都试试.
  • ADC实验从PA6读取模拟的数值,然后采样,串口发送,DMA方式,还控制LED灯闪烁,PA6对应外部模块的第一个旋钮.
  • 按键实验中,按键的短路帽默认是插上了,但是按键好像没想象中好使.
  • I2C测试是把I2C插在I2C1上,I2C的实现方式是查询法!
  • USB实验例子说的是HID
当然,这只能当是普通MCU,重点是他里面有个WIFI内核,支持AP和Station模式,可以做DHCP客户端或者DHCP服务器,整个MCU的射频内核的操作大概是:

  • 初始化
  • 加入网络
  • mxchipTick
  • 用户程序
3,4是不断循环执行的,3就是射频内核需要处理自己的一些事,比如看看Wifi状态什么的.所以,主程序结构里面不宜太久才调用一次mxchipTick.

在程序刚进入时候,mxchipInit,进行初始化,一般都会成功.然后配置参数,并初始化,一般情况如下:void softAPModeStart(void)
{
memset(&wNetConfig, 0x0, sizeof(network_InitTypeDef_st));

wNetConfig.wifi_mode = Soft_AP;
strcpy((char *)wNetConfig.wifi_ssid, "uAP");
strcpy((char *)wNetConfig.wifi_key, "");
strcpy((char *)wNetConfig.local_ip_addr, "192.168.0.1");
strcpy((char *)wNetConfig.address_pool_start, "192.168.0.10");
strcpy((char *)wNetConfig.address_pool_end, "192.168.0.177");
wNetConfig.dhcpMode = DHCP_Server;
StartNetwork(&wNetConfig);
printf("Setup soft AP: %s\r\n", wNetConfig.wifi_ssid);
}

当然也可以初始化成Station:

void stationModeStart(void)
{
memset(&wNetConfig, 0x0, sizeof(network_InitTypeDef_st));

wNetConfig.wifi_mode = Station;
strcpy((char *)wNetConfig.wifi_ssid, AP_NAME);
strcpy((char *)wNetConfig.wifi_key, AP_PASSWORD);
wNetConfig.dhcpMode = DHCP_Client;
StartNetwork(&wNetConfig);
printf("connect to %s.....\r\n", wNetConfig.wifi_ssid);
}

然后在里面该怎么就怎么.比如DNS,就gethostbyname,这样说起来,其实做得还不错的,简化了很多开发步骤.还有很多API的,我手册之前上传了,我还在研究.

写的不错啊,赞一个

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top