因为要用,学习了一下SPI操作SD卡,同时移植了一个免费开源的FAT文件系统:FatFS。感觉挺好,在单片机上实现了读写文件的操作,接下来就可以解释我的G代码咯! 我的SD卡底层操作参考了网上几种常见的代码,但又对
一、用STM32控制TFTLCD显示的编程方法,在编程驱动TFTLCD液晶显示器之前,我们先熟悉以下概念:1、色彩深度,这是一个与TFTLCD显存对应的概念;所谓色彩深度就是每个像素点需要多少位的RGB 数据表示该点的颜色信息。
先说明一下,开发平台win7,工具RVMDK(keil),硬件stm32f103ve,打印到超级终端前两天开始关注一下一直被搁在一边的printf。。。其实应该有一个月前就有看了一下,调用C语言官方库,实现可变参数printf向串口打印字符
采用adc1的通道10,将采集到的电压值用485发送给PC显示,先上原理图,源代码见附件,这里想说的是几个要注意的问题:1,ad输入的电压经过了R42和R44进行分压,所以pc显示的电压值将会减半,2、采用这个函数进行发送数
1.stm32有AHB,APB2,APB1总线。 其中APB2外设地址空间是从0x40010000至0x40013FFF地址。第一个地址称为基地址。2.参考手册中端口配置寄存器有地址偏移0x04,所以GPIOC_CRH地址为GPIOC_BASE+0x04 GPIO_TypeDef结构体
#include"usart1.h"//#include //加载MDK 自带的 C 函数D:KeilC51INC//串口1 配置void USART1_Config(void){GPIO_InitTypeDef GPIO_InitStructure; //定义结构体// 结构体内容在stm32f10x_gpio.h101行//见库函数 P12
DAC模块的通道1来输出模拟电压,其详细设置步骤如下:1)开启PA口时钟,设置PA4为模拟输入。STM32F103ZET6的DAC通道1是接在PA4上的,所以,我们先要使能PORTA的时钟,然后设置PA4为模拟输入(虽然是输入,但是STM32内
相关经验及心得如下: 摘要:1.在配置USART的TX完成中断后,在没有发数的情况下自动进入TX完成中断函数。2 .在TX配置完成后,相应的TC标志位会自动置1,随后就进入了TX完成中断。3.相关配置程序编写无误,并已经开启
1、安装MDK环境,下载程序的第三方软件mcuisp。 BOOT0开关拨到VCC、自动搜索串口、开始编程按钮,如果程序下载成功后则会打印出下面红色框中的信息、程序下载成功之后,需要将BOOT0开关拨到GND,然后按下我们的复位
关于正交解码,我先解释何为正交解码,,,,其实名字挺高大上的,,,,还是先说编码器吧看一下我用过的一种编码器编码器的线数 ,是说编码器转一圈输出多少个脉冲,,,如果一个编码器是500线,,,说明这个编码器转一圈对应的信号
1 bxCAN工作模式 bxCAN有3个主要的工作模式:初始化模式、正常模式和睡眠模式。 在硬件复位后,bxCAN工作在睡眠模式以节省电能,同时CANTX引脚的内部上拉电阻被激活。软件通过对CAN_MCR寄存器的INRQ或SLEEP位置’1’
搞了一天才发现 在MDK设置选项中有个"linker"选项卡 ,需要在Project->Options->Linker中将UseMemoryLayoutfromTargetDialog前面的复选框勾上 一切就正常了UseMemoryLayoutfromTargetDialog这个选项有个“分散加载文
STM32上有很多I/O口,也有很多的内置外设,像I2C,ADC,ISP,USART等,为了节省引出管脚,这些内置外设基本上是与I/O口共用管脚的,也就是I/O管脚的复用功能。但是STM32还有一特别之处:很多复用内置的外设的I/O引脚
#include "stm32f10x_lib.h"#include"stdio.h"#define USART1_DR_Base0x40013804#define SENDBUFF_SIZE10240vu8 SendBuff[SENDBUFF_SIZE];vu8 RecvBuff[10];vu8 recv_ptr;void RCC_Configuration(void);void GPIO_Co
在"嵌入式学习006_Systick使用(一)"中,详细介绍了Systick中寄存器的使用方法,用到了很多函数,实际上到了3.5版本的标准固件库中,移除了相关驱动函数,用户必须调用CMSIS.h中定义的函数,其中CMSIS只提供了一个S
如图,STM32的每个TIMER都有正交编码器输入接口,TI1,TI2经过输入滤波,边沿检测产生TI1FP1,TI2FP2接到编码器模块,通过配置编码器的工作模式,即可以对编码器进行正向/反向计数。如下图,编码器使用了A,B两相信号
从PWM输出实验的工程开始,加入其他各种功能。LCD屏幕显示:一、hardware其中timer是产生脉冲的。二、hallibFMC是一个接口,控制SDRAM和LCD三、#include#include"lcd.h"#include"sdram.h"12四、init()SDRAM_Init();
首先在网上看到大部分移植FreeRTOS 都是选择修改他的启动文件,我个人感觉这样不是很好,毕竟是汇编,当你采用不同的芯片型号时,又要修改不同的xx.S文件,所以我选择修改FreeRTOSconfig.h文件。1. 下载STM32官方源码
利用STM32跑UCOS 写了个很简单的程序,编译如下Program Size: Code=24562 RO-data=746 RW-data=88 ZI-data=7456以此推算,小于FLASH小于24K RAM小于8K 根本不能考虑STM32的UCOS,只能祼奔,STM32的FLASH到还好满足些
在STM32单片机的编程当中,中断函数的名称都是xxx_IRQHandler格式的。那当编译程序的时候是怎么知道这是一个中断函数的呢?每个中断都是有入口地址的。程序在执行过程中遇到中断的时候,会先判断这个中断的类型,根据