嵌入式
文章平均质量分 50
Andy001847
我步入丛林,是为了活得深刻。
展开
-
ISO14443 Type A类型卡的防碰撞过程以及命令解析
一、介绍 本博文介绍了PCD(Proximity Coupling Device)使用ISO14443-3 Type A协议检测匹配的PICC(Polling For Proximity Cards)命令以及防碰撞过程(Anticollision Proccess)。二、命令1 REQA和 WUQA1.1 命令概要 REQA命令和WUPA命令是PCD用来检测Type A类型卡是否在无线射频原创 2016-04-24 02:42:59 · 47552 阅读 · 11 评论 -
Segger RTT的使用——调试技巧
RTT( Real Time Terminal)是SEGGER公司新出的可以在嵌入式应用中与用户进行交互的实时终端。J-Link驱动4.90之后的版本都有这个软件哦。用RTT可以从目标MCU上输出信息的同时也可以非常高速的向应用程序发送信息,并且不影响MCU的实时性。其实现原理就是J-link与MCU共享内存,具体实现细节感兴趣的读者可以自己去查阅下资料,本文以应用为主。RTT的工作框图如下图转载 2018-02-02 18:03:56 · 5638 阅读 · 0 评论 -
STM32F030C8T6串口接收不定长数据
usart.c文件代码。#include "usart.h"#include "gpio.h"UART_HandleTypeDef huart1;/* USART1 init function */void MX_USART1_UART_Init(void){ huart1.Instance = USART1; huart1.Init.BaudRate = 115原创 2018-01-24 14:35:20 · 4054 阅读 · 1 评论 -
STM8L15x系列DAC的使用
在项目中偶尔会使用DA转换器,我使用的MCU是STM8L151G6U6。我是用的是PB4作为DA输出管脚,查阅该芯片的Reference manual手册可知,PB4是属于DAC_OUT1,即DAC通道一。 再查阅PB4输入输出控制,PB4对应的是开关15。 下面是我用软件触发模式使用的DAC配置代码。 dac.h头文件代码如下:#ifndef __DAC_H__#define __原创 2017-11-29 10:30:54 · 4200 阅读 · 0 评论 -
STM32之串口重定向printf函数和scanf函数
在进行STM32开发时,需要将日志打印出来,直接使用C语言的库函数printf是不起作用的,此时就需要我们将串口重定向printf函数。首先我们需要在keil集成开发环境中勾选STM32官方的微库,如下图所示: 然后就是重写fputc函数,使之定向到制定的串口中去。代码如下:#ifdef __GNUC__ /* With GCC/RAISONANCE, small printf (opti原创 2017-09-09 11:48:50 · 7905 阅读 · 0 评论 -
STM32之SPI驱动外部Flash
MCU为STM32F030C8T6,Nor Flash为IS25LQ010B。spi.h源代码#ifndef __spi_H#define __spi_H#ifdef __cplusplusextern "C" {#endif/* Includes ------------------------------------------------------------------*/#inc原创 2017-09-22 12:02:00 · 2242 阅读 · 0 评论 -
Log打印技巧(C语言实现)
在实际开发中我们经常要通过打印Log来调试程序,经常会用到打印函数,这里我书写了个宏,做到有选择的打印log。发话不多说,直接贴代码,希望对各位同人有所启发。/*File : log.cBreif : Define a macro to optition print logDate : 2016-12-16Author: Andy*/#include <stdio.h>/* Defin原创 2016-12-16 14:29:16 · 6073 阅读 · 5 评论 -
推挽输出、开漏输出、复用开漏输出、复用推挽输出以及上拉输入、下拉输入、浮空输入、模拟输入区别
最近在看数据手册的时候,发现在Cortex-M3里,对于GPIO的配置种类有8种之多: (1)GPIO_Mode_AIN 模拟输入 (2)GPIO_Mode_IN_FLOATING 浮空输入 (3)GPIO_Mode_IPD 下拉输入 (4)GPIO_Mode_IPU 上拉输入 (5)GPIO_Mode_Out_OD 开漏输出 (6)GPIO_Mode_Out_PP 推挽输出 (7)G转载 2016-12-16 14:00:39 · 1132 阅读 · 0 评论 -
Keil用fromelf工具生成bin文件
fromelf –bin –output “@P.bin” “#L” @P,就是取工程名 Project407,不要后缀. $L@P.bin在指定路径下生成bin文件. @P:在工程的根目录下生成文件. 工程名和链接文件名是不一样的. 工程名:建立工程时候取得名字. 链接文件名:自己随时可更改的.如下图.转载 2017-09-07 10:25:06 · 7746 阅读 · 0 评论 -
STM32平台下的TM1812驱动
TM1812芯片的特性如下: 数据传输参数及时序: 在上图中一个串联了三个TM1812芯片,每个芯片控制四盏灯,每盏灯有R,G,B三种颜色,每种颜色有256(0xFF)阶灰度可调,及每个颜色用一个字节控制。发送完全部LED灯的数据后,发送RESET信号进行LED显示以及重新接收数据。下面是我在STM32F030C8T6中的驱动,时钟频率48MHz。 tm1812.h的代码:#i原创 2017-09-14 09:27:24 · 6691 阅读 · 8 评论 -
I2C协议的理解
一、协议分析先想想两个陌生人是怎么进行沟通的,为了显得更有主次关系,选取老板和新员工进行沟通的场景,老板一般占有主动权,而且手中有新员工的基本信息,比如姓名,年龄,性别等。沟通开始:老板:“XXX,欢迎你加入我们公司,为公司注入新的血液!”伸出握手姿势 —— 主握手新员工:“承蒙厚爱,有幸加入我们公司,我觉得是一种光荣!”握手 —— 握手成转载 2017-07-28 10:15:01 · 946 阅读 · 0 评论 -
USART配置成SPI实例代码
在工作中第一次遇到可以将串口当做SPI使用的情况,下面是我在ATSAM4SD16B芯片中书写的将USART配置成SPI使用的代码。// Include files#include "component_usart.h"#include "sam4sd16b.h"#include "assert.h"#include "sam_gpio.h"#include "sysclk.h"#defin原创 2017-02-08 15:49:06 · 1964 阅读 · 1 评论 -
普通GPIO模拟SPI通信协议(软件SPI)
在工作中偶尔会遇到SPI不够用的情况,而我们又要去使用SPI通信协议,此时就需要我们自己去模拟SPI通信协议。我们知道SPI通信协议有四种模式,它们分别如下所示: 下面是我基于ATSAM4SD16B芯片在Atmel Studio上用普通GPIO模拟的SPI通信协议的代码:#include "ioport.h"#include "pio.h"#include "delay.h"#inclu原创 2016-12-29 09:46:02 · 26235 阅读 · 3 评论 -
ISO15693类型的命令解析以及防碰撞过程
一、介绍 本博文介绍了符合ISO15693标准的标签类型的检测以及防碰撞过程。二、协议简介 (2.1)ISO15693介绍了三种模式,它们之间的关系如下所示: (2.2)请求命令格式: SOF Flags Command Code Parameters Data CRC EOF 帧开始 标识 命令代码 参数原创 2016-06-21 15:03:58 · 20677 阅读 · 2 评论 -
ISO14443 Type B类型卡的防碰撞过程以及命令解析
一、介绍 本博文介绍了PCD(Proximity Coupling Device)使用ISO14443-3 Type B协议检测匹配的PICC(Polling For Proximity Cards)命令以及防碰撞过程(Anticollision Proccess)。二、命令2.1 REQB和WUPB2.1.1 概要 REQB命令和WUPB命令是PCD用来检测PICC是否在无限射频场(RF原创 2016-04-24 23:07:38 · 34003 阅读 · 4 评论 -
ESP32开发环境搭建(Windows平台)
ESP32开发环境搭建之——hello_world一、所需工具由于项目要用ESP32模块进行开发,折腾了下集成开发环境,现将过程记录下来,以便需要的人使用。其中需要的有交叉编译工具,esp-idf示例代码以及C/C++版的eclipse。交叉编译工具MSYS32:https://dl.espressif.com/dl/esp32_win32_msys2_environment_a...原创 2018-03-31 15:42:22 · 6727 阅读 · 4 评论