
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
文章目录介绍代码添加说明打印调用log查看介绍RTT( Real Time Terminal)是 SEGGER 公司新出的可以在嵌入式应用中与用户进行交互的实时终端。J-Link 驱动 4.90 之后的版本都有这个软件哦。用 RTT 可以从目标 MCU 上输出信息的同时也可以非常高速的向应用程序发送信息,并且不影响 MCU 的实时性。其实现原理就是 J-link 与 MCU 共享内存,具体实现细节
前言在产品开发中都会预留各种各样的程序升级的接口,为了防止程序出问题以后可以及时的更新程序,如果设备没有在线升级怎么办,无法远程升级程序。当然可以发程序下载器,让用户自己进行程序升级,如果这样又担心程序泄漏,而且一个STM32的程序下载器最少也需要30块。通过串口下载应该是最好的方式。实现方式通过外部按键或者串口指令让程序进入bootloader就可以进行程序下载了,bootloader一直存在,
一、前言在嵌入式的开发中很多时候会用到时间戳,会用到time.h中的localtime()和mktime(),这两个函数像STM32这种MCU中运行效率并不高,不使用标准库的情况下可以自己实现。二、代码utc_time.h#ifndef TIME_H#define TIME_H#ifdef __cplusplusextern "C"{#endif#...
一、前言上一节我们实现了代码应用层和硬件层的分离管理,但是代码中还存在一个问题,每个硬件如LED控制,GPIO口需要初始化,初始化函数bsp_led_init();这个函数需要在主函数中调用初始化,类似这样:void bsp_init(void){bsp_rcc_init();bsp_tick_init();bsp_led_init();...
一、前言以STM32为例,打开网络上下载的例程或者是购买开发板自带的例程,都会发现应用层中会有stm32f10x.h或者stm32f10x_gpio.h,这些文件严格来时属于硬件层的,如果软件层出现这些文件会显得很乱。使用过Linux的童鞋们肯定知道linux系统无法直接操作硬件层,打开linux或者rt_thread代码会发现代码中都会有device的源文件,没错,这就是驱动...
前言mqtt属于上层协议,与http属于同一层。建立在TCP之上的,因此所有的可以建立TCP通信的模组都可以实现mqttMQTT / HTTP————————————TLS————————————TCP————————————IP————————————数据链路层————————————物理层————————————硬件准备MCU:STM32F103RCGPRS模组:有人GM5工具:keil_MD
系列文章目录嵌入式开发|嵌入式软件框架《一》常用的软件框架介绍与选择文章目录系列文章目录前言一、cola os程序框架1.cola_init2.cola_device3.cola_os task任务创建4.cola_os stime定时器创建前言在嵌入式软件开发,包括单片机开发中,软件架构对于开发人员是一个必须认真考虑的问题。软件架构对于系统整体的稳定性和可靠性是非常重要的,一个合适的软件架构不仅
一、前言刚开始学习写代码时代码都会放在主循环中,通过while(1)不停的轮训。如果想做一个时间触发的任务,比如做一个100ms闪烁一次的LED,通常的写法是创建一个1ms定时器,在定时中断中变量自加,当变量加到100ms标志置位,然后在主循环中切换LED状态,本次实现的OS原理就是基于该原理实现的,准确的说这只是一个多任务链表的轮询。在很多MCU开发中,功能很简单,实时性要求...
前言在产品开发中都会预留各种各样的程序升级的接口,为了防止程序出问题以后可以及时的更新程序,如果设备没有在线升级怎么办,无法远程升级程序。当然可以发程序下载器,让用户自己进行程序升级,如果这样又担心程序泄漏,而且一个STM32的程序下载器最少也需要30块。通过串口下载应该是最好的方式。实现方式通过外部按键或者串口指令让程序进入bootloader就可以进行程序下载了,bootloader一直存在,







