STM32进阶日志1】的更多相关文章

一 工程习惯 ①必须模块化编程-一个功能一个CH分开,一个对象一个结构体; ②习惯使用bsp.c/bsp.h,BSP板级支持包源文件; ③多使用#define 来定义IO口与硬件相关特性,方便修改; 二 实际应用 模块化编程起始比较看实际使用场合, 这个和板级支持包有相同特性,使用时可以结合使用,硬件级底层配置全都在bsp文件里面编辑. 初始化的时候其实有一个比较好的实际使用可以供给使用: void bsp_Init(void) { /* 优先级分组设置为4,可配置0-15级抢占式优先级,0级子…
/******************************************************************************* 编译环境: EWARM V5.30 硬件环境: DZY2.PCB STM32 FW: V3.0.0 作者 : szlihongtao ****************************************************************************** REV : V1.00 DATE : 2011…
今天是开学第二周周末 写这篇博客纯属是为了记住一些学到的知识,大佬勿喷.. 首先学32要知道一些选型知识,32中常用的芯片类型(某宝常卖的开发板芯片大多是这几种):C8T6,RBT6,RCT6,VET6,ZET6等.. 以后要写程序时会碰到一步就是选择STARTUP文件:启动文件对于103类型来说主要有三种小容量,中容量,大容量,具体是以其FLASH来区别的,上图.. startup_stm32f10x_cl.s 互联型的器件STM32F105xx,STM32F107xxstartup_stm3…
CocoaLumberjack是Mac和iOS上一个集快捷.简单.强大和灵活于一身的日志框架.XcodeColors是用于控制台着色的工具,配合着CocoaLumberjack用有更好的效果,不废话,先上图: 从上图上看控制台的日志输出不仅仅只有默认的黑色了,而是根据日志等级的不同带有不同的颜色,这样即让我们的编程变的步那么无聊,又让我们能更加清晰的对日志等级做出区分,下面来详细介绍一下应该如何应用: 安装XcodeColors 关于安装XcodeColors相关的介绍我在之前的博客中已经写过了…
转载自微信公众号“玩转单片机”,感谢原作者“杰杰”. 队列的概念 在此之前,我们来回顾一下队列的基本概念:队列 (Queue):是一种先进先出(First In First Out ,简称 FIFO)的线性表,只允许在一端插入(入队),在另一端进行删除(出队). 队列的特点 类似售票排队窗口,先到的人看到能先买到票,然后先走,后来的人只能后买到票 队列的常见两种形式 在计算机中,每个信息都是存储在存储单元中的,比喻一下吧,上图的一些小正方形格子就是一个个存储单元,你可以理解为常见的数组,存放我们…
队列的概念 在此之前,我们来回顾一下队列的基本概念: 队列 (Queue):是一种先进先出(First In First Out ,简称 FIFO)的线性表,只允许在一端插入(入队),在另一端进行删除(出队). 队列的特点 类似售票排队窗口,先到的人看到能先买到票,然后先走,后来的人只能后买到票 队列的常见两种形式 普通队列 在计算机中,每个信息都是存储在存储单元中的,比喻一下吧,上图的一些小正方形格子就是一个个存储单元,你可以理解为常见的数组,存放我们一个个的信息. 当有大量数据的时候,我们不…
1.一个功能模块最好使用一个文件夹包含 2.基本就需要几个文件,比如定时器取反  LED: bsp_led.c 和 bsp_led.h : 包含你需要的led外设GPIO的初始化代码 led_it.c 和 led_it.h :包含你需要在中断中执行的回调函数 led.c 和 led.h:包含你需要被整个程序调用的函数和定义 led_inc.c 和 led_inc.h:  文件包含led需要使用到外部的东西和led相关的.h文件.注意 #include "led_inc.h"包含在每个.…
开发者可以通过三种方式配置日志记录: 调用配置方法的Python代码显式创建记录器.处理程序和格式化程序. 创建日志配置文件并使用fileConfig() 函数读取. 创建配置信息字典并将其传递给dictConfig()函数. 相对第一种,第二种使用配置文件方式更有优势,主要是配置和代码的分离,结构上更清晰,以及非开发者轻松修改日志记录属性的能力. 本文将介绍第二种使用配置文件方式记录Python程序日志,将Python程序日志分别打印到控制台和日志文件,日志文件按时间戳滚动迭代,且可以自动删除…
摘录:https://www.liaoxuefeng.com/wiki/1016959663602400/1017598873256736 错误处理 调试 错误处理 高级语言都会使用内置的一套try...except...finally...的错误处理机制, 可以更高效的处理错误, 无需程序员自己写错误处理的代码. try try: print('try...') r = 10 / int(') print('result:', r) except ValueError as e: print(…
1 <STM32进阶之串口环形缓冲区实现>中讲得比较清楚(链接) 2 amobbs中讲的方法有点复杂,以下是链接和参考源码: 通信方案软件设计(环形动态申请内存,支持USART+IIC+SPI+CAN协议) STM32串口驱动(拼音检索测试通过)(环形队列+内存动态分配+DMA)…