10 蓝凌风

尚未进行身份认证

我要认证

技术屌丝

等级
TA的排名 12w+

Windows环境下CubeMX+VScode+Gcc+OpenOCD开发STM32环境搭建

为啥要这么麻烦嘛,这个不解释,生命在于折腾,相信很多人都在折腾,也很多人去百度过,按百度的教程估计还是有很多人不会弄,所以写这篇教程为那些还没有折腾成功的砖工提供点线索。 VScode现在真的很强大,界面跟配色都是一流,再加个各种强大的插件,使VScode越来越成为万能的IDE,可以开发各种语言。这里不多说,VScode相信绝大部分的人都会安装使用,就不再重复了。...

2019-09-07 22:38:28

STM32F0除法计算引起的485丢包问题

前些天在调试STM32F042的Modbus程序,用的是中断接收+Systick超时判断包接收完成,波特率是115200。调试发现丢包很严重,三分一左右的丢包率。用MDK调试发现是串口溢出中断了,造成串口溢出,无非是接收中断来不及把RDR的数据取走,又收到下一个数据,引起数据的溢出。首先是考虑到中断优先级的问题,怀疑串口的中断优先级低,中断不能及时响应。修改串口中断为最高优先级,...

2019-08-21 12:25:03

再写TIMER+DMA驱动GPIO

早两年前写过用DMA直接驱动GPIO的文章,当时写的只是比较原理性的,没有实例。最近在用到单线总线,上了RTOS,为了提高效率,减少内核的浪费,就想到用TIMER+DMA+GPIO去输出单线总线时序。上图是单线总线的时序,常规的方法就直接控制IO输出,电平的间隔用延时去控制,代码如下:void SC50X0B_SDA(unsigned char data) { unsig...

2018-10-13 00:52:04

物联网前端后台1——一条硬件狗的学习历程

距上次写MQTT的文章,不知不觉已经过了三个月了,本来打算写自己搭建MQTT Borker的,但这方面的资料只要一百度都有,难度也不大,又加上项目比较忙,一直没时间写文章。从上个月开始断断续续学习Node.js慢慢搭建自己的前端跟后台程序。其实在7月份的时候就接触到Node.js,之前一直都有想法来搭建属于一个属于自己的物联网平台,尝试过后用C++或者C#来搭建。但对这两种语言都不是太熟悉,还要学

2017-12-07 08:41:11

物联网核心之MQTT移植

在上一篇文章中,只是讲了MQTT的主要内容,至于怎么移植到STM32上,怎么使用才是最重要的关键。这里使用的平台是RT8711的WIFI SOC,使用的LWIP跟FreeRTOS,移植使用跟STM32+LWIP是没什么区别的。   先在Github上找到Eclipse的开源MQTT客户端程序https://github.com/eclipse/paho.mqtt.embedded-c.

2017-09-11 23:01:13

造实用个性的Log输出宏

我们在调试嵌入式程序的时候,用IDE+调试器是最直接的方式,但是很多时候我们还需要用串口输出来打印一些Debug的信息,来帮助我们调试。串口调试最简单的方式的话,最简单就是用printf来打印。但是只有Printf不能很好的控制输出的信息,或者让代码变得很臃肿。我们就用宏来封装下Printf,让它更好的使用,更加便利。这里给大家分享一个我在别人基础再改进的Log宏代码。

2017-08-30 21:55:11

物联网核心之MQTT(一)

物联网核心之MQTT(一)       MQTT,目前物联网的最主要的协议,基本所有收费的云平台都是基于MQTT协议,比如机智云,和所有的开放云平台比如中国移动的oneNet、百度的云平台也都支持MQTT的接入。虽然MQTT很火,但是目前对MQTT的很少,尤其是在如何移植到嵌入式上来。大部分的平台商的做法都是跟模块商合作把MQTT协议集成到WiFi模块跟GPRS模块里面,捆绑一销售,不让用

2017-08-23 00:28:39

外部SRAM实验,让STM32的外部SRAM操作跟内部SRAM一样

前几天看到论坛有人在问这个问题,我特意去做了这个实验,这样用外部SRAM就跟用内部SRAM一样,不用自己去申请内存,也不用考虑什么内存地址,一切让编译器自己去解决。        废话不多说,我直接拿原子哥的战舰开发板库函数版的外部SRAM实验来修改。在库函数的system_stm32f10x.c这个初始化文件当中其实就已经有外部SRAM的初始化,我们只要增加“#define DATA_I

2015-03-22 08:55:49

用DMA直接驱动GPIO,实现GPIO最高输出速率

先上图:STM32F303芯片,72M的主频可以看到GPIO的达到了14.4M的翻转速率,      再来上代码:RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOC, ENABLE);GPIOC->MODER |= 0x55555555;GPIOC->OSPEEDR |= 0xFFFFFFF;GPIOC->PUPDR |= 0x55555

2015-03-22 08:54:20

ARM9/ARM11裸机开发笔记1之MDK开发环境和点亮LED

很多从单片机或者从CM3转到ARM9/ARM11的时候,一开始就讲得是Uboot,Linux,然后就是什么QT等高级玩意,不像单片机有什么裸机开发的概念,的确,这些高级ARM本来就是用来跑系统,谁用来它做裸机开发呢。但是如果我们要更好了解ARM的工作原理,,尤其是想进阶嵌入式中最难的一层,驱动层的话,甚至想把其它的非Linux系统移植到ARM9/ARM11上。我们就无法避免要跟ARM跟底层的寄存器

2015-03-22 08:52:39

STM32中的main函数入口

昨天在openedv.com论坛上看到别人STM32的启动文件的详解,里面在讨论到说到是不是可以修改main函数里,_main是不是我们C语言的main函数的入口。其实启动文件里我们只是看到很小一部分的代码很难回答这些问题,我于是反汇编了STM32 的AXF文件,给出了一些解答,如下:      为了让大家更清楚的知道STM32是怎么启动的。这里用到IDA64这个反汇编的利器来找反一下ST

2014-12-29 22:10:06

Microsoft .NET Micro Framework移植开发笔记2之点灯神话

写完HelloWorld后,开始进入GPIO的操作,无论是拿到任何的嵌入式的板子,第一件事情就是点亮LED。MF也是这里开始,废话不多说,直接新建VS2010的MF工程。要想点亮LED,就是要操作GPIO,要操作GPIO口就要初始,MF也是一样。在Program.cs的Main函数加入初始化 OutputPort led0 = new OutputPort((Cpu.Pin)21, false);

2014-12-28 22:42:40

Microsoft .NET Micro Framework移植开发笔记1

今天一早收到原子哥赠送的战舰开发板,心情甚是激动,趋上班的时候,简单的移植下.net MicroFramework到战舰开发板上,带大家进入.net MicroFramework世界里。废话不说,直接上固件。     固件是bin文件,玩过STM32的人都知道怎么烧固件。这里使用战舰了UART2做为调试口(MF的默认调试口为UART1,战舰的UART1用了CH340芯片,如果要用话,连同USB

2014-12-28 22:41:45

F3不能用位带操作GPIO之原由

最近用到STM32F303,在修改IO的时候,觉得用库操作太麻烦了,要自己一个一个修改,用宏定义也不解决,自然就会想到用位带操作。查M4的手册知道M4也是支持位带操作,F3系列也是属于M4内核,而且在405也是用位带操作,觉得F303也是一样可以做位带操作。直接先修改一个IO,调试却发现在,IO电平始终没有变化。查IO,初始化没有问题。再查位带宏定义:#define BITBAND(addr,

2014-11-04 09:47:45

.NET Micro Framework USB移植(下)

接上文,USB已经正常使用,但是怎么自定义USB的相关描述,这自然是跟USB底层相关。MF的移植目前还没有多少的教程,大部分都是阅读MF的源码来摸索,这里用到Source Insight这个强大的工具来托管整个MF的源码,以便检索代码中的关键字。这里用设设备名iMXS_a7e70ea2中的a7e70ea2做为关键词,检索出来下面的文件都包含关键词。再查TinyCLR.proj文

2014-10-09 13:04:55

.NET Micro Framework USB移植(上)

USB做为现在最重要的通信接口之一,MF的USB移植也是很重要的一步,这样就可以摆脱串口通过USB口来显示MF的DEBUG信息和通过USB口来进行MF托管代码的部署。        移植USB之前,对USB的底层基本没有多少认识,完全靠自己摸着走。MF自带的代码中已经有USB的底层代码,但是不知道完整与否。直接用MF自带的STM32Samp做基础进行移植。修改STM32Samp中的plat

2014-10-09 09:50:23

Altium Designer图文安装教程

Altium Designer图文安装教程AD的安装比较其它的软件安装来说已经是再简单不过了,基本上就是一路按Next就可以解决的,而且百度上也是有相当的安装教程,之所以我写这一个安装教程,是因为虽然这样,我还是经常在各种技术群里看到很多新手在问AD安装的相关问题,原因在于网上安装教程都是比较老版本的AD的安装方法,对新版本有些差异,而且网上大部分还是文字教程,使得很多新手不容易看懂。在此以我

2014-08-14 21:57:16

NET Micro Framework移植问题记录

在构建MF编译环境的时候,第一次对里面STM32的例程jffc

2014-08-12 21:13:34
勋章 我的勋章
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。