
STM32
文章平均质量分 74
writeing
移动机器人软件工程师,研发经理
展开
-
wifi模块异步处理库编写
写这个的库的初衷说来也尴尬。github上找不到好用的库,有几个star挺高的,但是并不好用,而且写的也不怎么好。本地的环境是freertos+stm32所以对模块的初始化和使用有异步的需求。大体的设计思路就是1,串口 DMA+IDLE实现回调函数获取串口数据。2,处理串口数据进行字符匹配3,状态机和标志位实现指令流程。(这里没用,蓝牙模块有用)githu链接地址:git@github.com:writeing/wifilib.git上代码const static stu_wifiC原创 2021-07-15 17:12:25 · 332 阅读 · 1 评论 -
stm32-rs485简易架构
下面分享一个rs485多线管理的库,一共分为一下几个部分1,结构体定义2,注册3,发送4,接收5,回调其次是注册部分,注册函数如下void regRs485Dev(revFunc revDataFunc,uint8_t address,uint8_t index){ for(int i = 0 ; i < RS485_COUNT_LEN ; i ++) { if(s...原创 2020-04-03 15:11:39 · 765 阅读 · 1 评论 -
stm32-关于AT24C02这个芯片的坑点
如标题所述,这个鬼芯片有一个很大的坑点在里面,请看下图。手册上写的是1k 和 2k 是8byte,之后的是16byte,这一点一定要看清楚,一定要看清楚,一定要看清楚。我之前看手册的时候,看成了16byte,导致写入数据8字节之后的部分完全崩溃了,具体的分析拆包代码如下:ErrorStatus writeAt24C02(uint16_t address,void *writeBuff,u...原创 2020-04-03 14:10:28 · 1965 阅读 · 0 评论 -
stm32-基于FreeRtos 的lwip协议移植
因为要用的以太网通讯,所以移植了一个lwip的协议栈。我使用的是cubeMx生成的代码,这里简单说一下注意事项。freeRtos V2.0不支持lwip,只能使用1.0版本。这个地方是比较需要注意的,因为开启和关闭不弄好,就会导致编译的时候,很多函数无法调用。然后就是基于FreeRtos的系统,Lwip最好的办法是创建一个单独的线程调用起来,在代码里面不停的遍历函数的接收。在一个就是...原创 2020-04-03 14:03:45 · 917 阅读 · 2 评论 -
STM32-高速串口,基于DMA的空闲中断
STM32发送,接收说明串口接收数据的方式,有两种,1,poll2,int中断又分为一次接收一个数据,和DMA一次接收多个数据。考虑到数据的高速情况,我们这里当然是选择DMA了,但是DMA有一个不好的点就是中断触发机制,要么是half,要么是接收完毕,那么就有一个很难受的问题,一帧数据,基本上会被切断,所以对于那些对帧的完整性有较高要求的场景,DMA的这种中断就很难使用。常用的解决...原创 2020-04-03 11:12:50 · 1658 阅读 · 0 评论 -
STM32F4-usb_slave u盘
使用stm32F4的HSUSB移植一个usb和sd卡组合当做U盘使用的操作想要做到这个功能,大致如下几个步骤 1,SDIO/SPI 驱动 SD卡,具体的驱动可以使用keil提供的eval库 2,下载usb device驱动,我们这里使用的是被动模式,slave 3,添加usb文件到工程 4,修改添加usb底层驱动代码其实,移植usb驱动相对来说比较简单,只需要知道什么是移植。usb驱动是干嘛原创 2017-08-07 19:09:42 · 10800 阅读 · 1 评论 -
stm32-W5500-官网教程
w5500就是一个以太网模块,这个模块本身集成了tcp/ip协议,mcu只需要通过spi协议读写他的寄存器就可以进行数据交互了,下面大致说说stm32移植w5500的过程和步骤吧, 10个引脚中,真正使用的也就只有vcc gnd miso mosi sclk scs 这几个脚,RST和int引脚如果是引用官方的库的话,是不需要的(RST是复位引脚,INT是中断触发引脚)移植W5500大致分为下面的原创 2017-06-21 17:18:50 · 55783 阅读 · 8 评论 -
ESP8266 link HTTP
esp8266,一款低功耗的wifi设备,嵌入式或者是物联网方面比较火爆,主要是价格便宜,下面主要介绍esp8266通过http访问网页的方式,对于esp8266的具体配置不做讲解1:连接网络2:连接服务器3:设置透传模式4:设置发送模式5:发送http指令这里我的服务器是python写的, 一个简易,只有GET个POST的服务器 1:连接网络 就是让esp8266连接对应原创 2015-07-31 15:06:30 · 2340 阅读 · 0 评论 -
STM32入门配置
因为公司需要,所以这几天摸了一下stm32的mcu,其实以前已经学过了ARM7的裸机操作,所以看这个没有什么太大的压力,就是函数太多,不过也正应为这个,所以开发起来特别方便,不像以前那样还得自己写寄存器了,好了,首先介绍一下stm32是什么东西吧,stm32是一个contex A7的核,对,他是arm的系类产品之一,是一个M3的处理器,我学工的lpc1113 就是一个M0的处理器,性能和这个差距原创 2015-03-16 17:17:26 · 909 阅读 · 0 评论 -
USART试wifi模块-emw8266
首先把,wifi模块分很多种接口,串口的spi的,都有,emw8266这款是串口的,然后内置了LWip协议,不用自己写了,这个倒是挺方便的,好了下面简要说明一下这货怎么用吧,电压:这个bitch是3.3v的,,记住是3.3v的。我的那个差点就烧了,尼玛,都没有标明的,那个开发手册上,开发协议:有很多种,但是首先你得确定你的芯片是通的,即AT+回车发过去能还你一个OK,如果成了,那就继续进行开发手原创 2015-03-30 13:50:41 · 847 阅读 · 0 评论