推荐阅读最新更新时间:2024-03-16 14:41
STM32学习笔记(一)---基础知识
常识 1.所有芯片的引脚顺序都是逆序排列的 2.芯片主要由内核和片上外设组成。 存储器映射 存储器本身不具有地址,给存储器分配地址的过程就称为存储器映射。 给存储器再分配一个地址的过程就叫做存储器重映射。 寄存器映射 设计片上外设时,以四个字节为一个单元,共32bit,每个单元对应不同的功能,我们控制这些单元就可以驱动外设工作。 根据每个单元的功能不同,以功能为名给这个内存单元起别名,这个别名就是寄存器。 给已经分配好地址的有特定功能的内存单元取别名的过程就叫做寄存器映射 例子: GPIOF端口的输出数据寄存器ODR的内存地址为0x4002 1414(ODR寄存器32位,低16位有效,控制16个IO端口
[单片机]
STM32学习笔记之绪论
学习STM32也有些日子了。作为初学者,从最初的一无所知,到现在略知皮毛之皮毛,感觉着实不容易。 下面把自己的体会以及自认为初学者不易掌握的要点和大家分享一下,有错误的地方,欢迎大家指正。 一、关于学习方法 初学STM32给我的一个感觉就是,概念繁多而且很多都可以继续深究下去, 教程对此又不可能都很详细的论述,但于我来说如鱼鲠喉实在不爽。 因为我喜欢刨根问底,网络资料又实在繁杂,如此又耗费精力,又打击学习积极性。 终于有一天,我转变了心态,如果STM32犹如枝繁叶茂的大树(整个嵌入式体系亦如此),我要做的不是连每一个叶子都明了,而是暂时只要知晓其主干及一些必要的干支即可。其他的枝叶等有时间再去深究,而很多脉络随
[单片机]
STM32学习笔记-GPIO使用超强总结
1 GPIO使用步骤 1.1. 使能GPIO对应的外设时钟 例如://使能GPIOA、GPIOB、GPIOC对应的外设时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA |RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC , ENABLE); 1.2. 声明一个GPIO_InitStructure结构体 例如: GPIO_InitTypeDef GPIO_InitStructure; 1.3. 选择待设置的GPIO管脚 例如://选择待设置的GPIO第7、8、9管脚位 ,中间加“|”符号 GPIO_InitStructure
[单片机]
友善之臂最新版mini2440学习笔记——u-boot 1.1.6移植(一)
从本文开始,将记录博主在进行u-boot 1.1.6移植过程中遇到的问题。本文将涉及两个问题: 1. u-boot中添加开发板 2. u-boot第一阶段启动代码 1. u-boot中添加开发板 1.1. Makefile更改 1.1.1. 增加反汇编文件输出 Makefile文件中239行,源文件为: ALL = $(obj)u-boot.srec $(obj)u-boot.bin $(obj)System.map $(U_BOOT_NAND) 更改为: ALL = $(obj)u-boot.srec $(obj)u-boot.bin $(obj)System.map $(obj)u-boot.dis $
[单片机]
c51单片机学习笔记-IO扩展(串转并)实验 - 74HC595
目的:通过 74HC595 模块控制 LED 点阵以一行循环滚动显示。 编译软件:keil5 过程: (1)先定义好74HC595 控制管脚,以及点阵列控制口 //定义 74HC595 控制管脚 sbit SRCLK=P3^6; //移位寄存器时钟输入 sbit RCLK=P3^5; //存储寄存器时钟输入 sbit SER=P3^4; //串行数据输入 #define LEDDZ_COL_PORT P0 //点阵列控制端口 u8 ghc595_buf ={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; (2)重新定义了一个 ms 级延时函数 delay_ms,该函数与前面 de
[单片机]
STM32 USB学习笔记8
主机环境:Windows 7 SP1 开发环境:MDK5.14 目标板:STM32F103C8T6 开发库:STM32F1Cube库和STM32_USB_Device_Library 现在分析USB器件库核心文件的最后一个文件usbd_ctlreq,该文件提供了标准请求的处理,跟USB2.0协议的第九章节紧密关联。在Setup阶段根据bmRequest字段的内容分为:设备请求、接口请求、端点请求。并根据不同的请求调用不同的函数体,USB2.0协议中定义的标清请求有以下几种 通过第一个竖栏可以看出同一个请求代码可以对应多个接收者,例如CLEAR_FEATURE请求可以是设备请求也可以是接口请求,同样也可以是端点请求。对应的各个请
[单片机]
stm32HAL库学习——UART学习笔记
这里只是简单的记录自己使用过程中的经验,并非详细阐述原理。 一、串口输出打印重定向printf,代码如下: int fputc(int ch,FILE *f) { uint8_t temp ={ch}; HAL_UART_Transmit(&huart1,temp,1,1000); return (ch); } int fgetc(FILE *f) { uint8_t ch; HAL_UART_Receive(&huart1,(uint8_t *)&ch, 1, 1000); return ch; } 用作程序调试输出时,可以使用一组宏定义,方便开发完成后关闭printf; /* 调试日志串口
[单片机]
STM8L探索套件学习笔记-ADC_DMA(十五)
使用ADC的DMA功能,每次连续转换8个数据,然后平均显示到LCD上。 主要代码如下: void main(void) { /* Enable ADC1 clock */ CLK_PeripheralClockConfig(CLK_Peripheral_ADC1, ENABLE); /* Enable DMA1 clock */ CLK_PeripheralClockConfig(CLK_Peripheral_DMA1, ENABLE); LCD_GLASS_Init(); /* Initialize and configure ADC1 */ ADC_Init(ADC1, ADC_ConversionMode_
[单片机]