
单片机
AllenSun-1990
上海先楫半导体资深FAE工程师,不定期更新HPMicro高性能MCU应用案例。
展开
-
STM32:TIM通道输入捕获
本文主要讲解如何使用TIMER通道的输入脉冲捕获功能。基于STM32F7的Timer2 Channel3来进行讲解。原创 2023-10-20 16:34:36 · 1473 阅读 · 3 评论 -
STM32:GPIO模拟SPI驱动ADS8361
ADS8361是TI公司开发的一款模拟量输入芯片。ADS8361有四种工作模式,本文主要针对模式三进行通信驱动。官方方案使用两路SPI来通信,一路SPI Master,一路SPI Slave。我在使用STM32主控芯片的两路SPI进行通信的时候,发现只有SPI Master这路可以正常工作。Slave一直无法接收到数据。估计是两路SPI同时通信会有问题。所以使用了GPIO模拟SPI来驱动ADS8361。原创 2023-10-11 13:53:24 · 1582 阅读 · 1 评论 -
nRF52840双UART串口功能开发
本博客主要讲了在nRF52840 DK上面进行双UART串口通信的过程。原创 2022-12-06 10:27:38 · 3468 阅读 · 9 评论 -
交叉编译:configure
交叉编译:configure参数原创 2022-01-20 13:41:26 · 1788 阅读 · 0 评论 -
Pcduino通过PWM信号控制motorshield
#include #define FORWARD 0#define BACKWARD 1//控制信号引脚定义int pinInA1 = 8; //与最下排管脚的A1相连。int pinInA2 = 11; //与最下排管脚的A2相连。int pinEnA = 9; //与最下排管脚的EnA相连。//此外,motorshield要原创 2017-05-20 13:08:19 · 681 阅读 · 0 评论 -
mini2440 看门狗实验
WDT(看门狗定时器), 看门狗定时器的主要作用是在程序因为干扰而跑飞后,能够使系统复位,不至于使系统永远的死下去。 看门狗的工作原理为:如果程序正常执行,就必须隔一段时间进行喂狗操作,如果达到设定时间没有进行喂狗则看门狗程序会认为程序跑飞或者死掉,会自动进行系统复位。看门狗定时器跟不同定时器操作类似,只不过增加了中断复位和喂狗操作,给rWTCNT赋值就相当于进行喂狗操作,其它配置见转载 2016-10-08 13:59:42 · 506 阅读 · 0 评论 -
单片机升级
我了解的单片机升级有两种:一种是通过单片机的程序走得,自动升级。需要单片机当前软件支持的第二种是模拟烧写器,不需要单片机当前软件支持的。1.把单片机当做一个ROM芯片,早期的单片机都是如此。将单片机放在通用编程上编程时,就像给28C256这样的ROM中写程序的过程一样。只是不同的单片机使用的端口,编程用的时序不一样。2.像AT89S52或AVR单片机一样,在单片机上有SPI接口,这时用专用的下载线将程序烧写到单片机中。这时不同的是,单片机的CPU除了执行单片机本身的指令之外,还能执行对RO.原创 2021-04-21 10:45:44 · 1084 阅读 · 0 评论 -
STM32F103实现DMA接收串口不定长度数据
这两天调试STM32F103的开发板,需要实现接收一定长度连续的数据。当数据流接收结束的时候,触发串口接收中断。计算数据流长度,并将数据传到内存中。main.c// DMA 存储器到外设(串口)数据传输实验#include "stm32f10x.h"#include "bsp_usart_dma.h"#include "bsp_led.h"extern uint8_t Re...原创 2018-07-29 16:58:44 · 5490 阅读 · 2 评论 -
CPU通过SMC控制CPLD
CPU通过对CPLD寄存器的读写,来控制风扇PWM信号的占空比以及读出反馈的风扇转速。在一些项目中,CPU通过GPIO模拟的方式对CPLD进行选址和传送数据。这里通过Local Bus将EPLD映射到CPU的External SRAM上。这样可以通过直接对地址读写来控制EPLD。EPLD接入Local Bus的设置过程风扇板的主控芯片是Atmel SAM4S8C。 EBI(原创 2017-04-05 09:47:39 · 2420 阅读 · 0 评论 -
单片机程序运行
1. 类似51,AVR这类的单片机,程序只能在ROM或FLASH里运行。STC的芯片一般是标准51或增强51,用的是FLASH,程序只能在FLASH中运行。2. ARM的程序即可以在FLASH里运行也可以在RAM里运行,不过能运行程序的FLASH只能使NorFlash,因为NANDFLASH的接口决定了其无法挂载在地址空间内。3. 也就是说只要能挂载到ARM的程序地址空间的设备都可以直接放转载 2017-04-10 10:14:19 · 1298 阅读 · 0 评论 -
MSP430F149单片机实现uart数据接收中断
/*****************************************************程序功能:MCU不停向PC机发送数据,在屏幕上显示0~127对应 的ASCII字符------------------------------------------------------通信格式:N.8.1, 9600----------------原创 2017-03-30 23:05:17 · 5635 阅读 · 5 评论 -
MSP430F149小系统开发板实现RS232串口通信
/*****************************************************程序功能:MCU不停向PC机发送数据,在屏幕上显示0~127对应 的ASCII字符------------------------------------------------------通信格式:N.8.1, 2400----------------原创 2017-03-12 20:26:14 · 5628 阅读 · 4 评论 -
把.hex机器码下载到单片机的操作流程
烧录程序也叫下载程序。下载程序的本质是什么?把单片机当做一个存储器,每一条程序指令都对应一个唯一的存储地址,把这些指令一条条存储到指定的存储地址中,这就是下载程序的本质。对于STC89C52RC单片机,在下载程序时需要**机界面软件和一根USB转串口线。**机界面软件负责把指定.hex格式的机器码文件打开,.hex格式的机器码文件里面记录着每条程序指令对应的地址信息,在下载过程中,**机界面软件根转载 2017-01-13 21:31:13 · 6697 阅读 · 0 评论 -
STC89C52RC单片机实现串口打印功能
stc的89c52rc型号开发板,晶振是12m。是因为买的最小系统就是这个频率。使用波特率位9600,将TL、TH都设置成0xfd后不管是英文还是中文的都是乱码。12M的晶振波特率只能是2400,9600的情况下会有7.8%的误差,所以会产生乱码,而2400波特率的情况下误差是0.16%,这样就不会产生乱码了,TH1和TL1都设为F3为什么51单片机的晶振一般使用11.0592?原创 2017-01-17 00:04:13 · 10711 阅读 · 8 评论 -
STC89C52串口应用实例
1) 硬件设计一般单片机的串口通信都需要通过MAX232 进行电平转换然后进行数据通信的,当然STC89C52RC 单片机也不例外。图中的连接方式是常用的的一种零Modem 方式的最简单连接即3 线连接方式:只使用RXD、TXD 和GND 这三根连线,如血图由于RS232 的逻辑“0”电平规定为+5~+15V,逻辑“1”电平规定为-15~-5V,因此不能直接连接与TTL转载 2017-01-14 18:33:42 · 7530 阅读 · 0 评论