
STM32
傻子与白痴
路漫漫其修远兮吾将上下而求索
展开
-
STM32启动文件详解
启动文件使用的 ARM 汇编指令汇总 启动程序源码注释(点此下载)1. Stack—栈 Stack_Size EQU 0x00000400 AREA STACK, NOINIT, READWRITE, ALIGN= Stack_Mem SPACE Stack_Size __initial_sp 开辟栈的大小为 0X00000400...转载 2019-12-18 15:25:14 · 828 阅读 · 0 评论 -
jtag和swd有什么不同_jtag和swd的区别
本文为大家介绍jtag和swd的区别。jtag和swd有什么不同----引脚对比对于仿真ARM,TKScope仿真器家庭的AK100/AK100Pro、K8/K9等仿真器提供标准的20PIN调试接口。接口管脚定义如下。其中ARM芯片有两种调试模式,一种是JTAG,一种是SWD,二者在管脚上有复用。标准20PIN调试接口JTAG调试接口引脚JTAG调试接口必...转载 2019-10-17 08:51:08 · 2376 阅读 · 0 评论 -
STM32端口复用和重映射
STM32的引脚可设置为可设置为:普通IO功能、复用功能、重映射功能。不过普通IO功能、复用功能用得比较多。复用在TSM32里面,大部分的引脚都是有GPIO复用功能,也就是说,一个 GPIO如果可以复用为内置外设的功能引脚,那么当这个 GPIO 作为内置外设使用的时候,就叫做复用。例如图下方框:串口 1 的引脚对应的 IO 为 PA9,PA10。 CAN总线的的引脚对应的 IO 为 PA11,PA...转载 2019-08-30 17:55:06 · 872 阅读 · 0 评论 -
IIC教程
基础知识介绍时序图本文所有时序图均来自AT24C02的芯片手册IIC I2C 总线是一种串行数据总线,只有二根信号线,一根是双向的数据线SDA,另一根是时钟线SCL,两条线可以挂多个设备。 IIC设备(绝大多数)里有个固化的地址,只有在两条线上传输的值等于IIC设备的固化地址时,其才会作出响应。通常我们为了方便把IIC设备分为主设备和从设备,基本上谁控制时钟线(即控制SCL...转载 2019-08-29 10:50:52 · 968 阅读 · 0 评论 -
ATPC 寄存器作用
1. ATPC (Automatic Transfer Power Control) 自动发信功率控制。技术的要点是微波发信机的输出功率在ATPC控制范围内自动跟踪接收段接收电平的变化而变化2. 基本ATPCS规定了在子程序调用时的一些基本规则,包括下面3方面的内容:1、寄存器的使用必须满足下面的规则:1).子程序间通过寄存器R0一R3来传递参数,这时,寄存器R0~R3可...转载 2019-08-09 17:05:35 · 343 阅读 · 0 评论 -
STM32 串口
注意:TX管脚首先发送最低位,同样,RX管脚也最先接收最低位。起始位为低,停止位为高。1.发送(1)发送使能位TE--在CR1中USART_InitStructure.USART_Mode = USART_Mode_Tx;USART_Init(USARTx, &USART_InitStructure);设置完TE位后,STM32会发送一个空闲帧(2)TXE位...原创 2019-07-23 13:11:05 · 180 阅读 · 0 评论 -
数据在内存中存储的方式:大端模式与小端模式
什么是大端模式,什么是小端模式?所谓的大端模式(Big-endian),是指数据的高字节,保存在内存的低地址中,而数据的低字节,保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放;所谓小端模式(Little-endian), 是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内在的低地址中,这种存储模式将地址的高低和数据...转载 2019-07-30 09:23:14 · 4007 阅读 · 0 评论 -
宏USE_STDPERIPH_DRIVER 和 STM32F10X_HD
在keil中需添加这两个宏一、宏USE_STDPERIPH_DRIVER1.这个宏控制了是否在应用中启动外设驱动。2.在函数Stm32f10x.h中(在keil中设置后无需在此处开启)#if !defined USE_STDPERIPH_DRIVER/*** @brief Comment the line below if you will not use the ...原创 2019-07-19 17:37:31 · 2107 阅读 · 0 评论 -
常见的串行通信接口
串行通信接口 引脚 通信方式 通信方向 UART TXD RXD GND 异步通信 全双工 单总线 DQ:发送/接收 异步通信 半双工 SPI SCK MISO MOSI 同步通信 全双工 I2C SK...转载 2019-07-19 16:39:30 · 4425 阅读 · 0 评论 -
RS232电平、CMOS电平、TTL电平、RS485电平
1、TTL电平标准输出 L: <0.8V ; H:>2.4V。输入 L: <1.2V ; H:>2.0VTTL电平的输入低电平的噪声容限就只有(0.8-0)/2=0.4V,高电平的噪声容限为(5-2.4)/2=1.3V。2、CMOS电平标准输出 L: <0.1*Vcc ; H:>0.9*Vcc。输入 L: <0.3*Vcc ; H:...原创 2019-07-19 16:12:21 · 719 阅读 · 0 评论 -
uC/OS-II V2.86 版本的bug--函数OS_Sched
https://blog.youkuaiyun.com/lin_strong/article/details/78342935暑假做项目时,发现莫名奇妙会卡死,情况基本是:应用中有两个任务是通过等待信号量来触发的,调试时发现只要让其中优先级低的那个任务不要与一个周期性触发的频率很高的串口中断撞在一起就不会卡死了,百思不得其解。结果一不小心搜到了一个论坛讨论,说的是V2.86版本的一个bug,在2.88...转载 2019-07-05 10:53:49 · 660 阅读 · 0 评论 -
UCOSII进入HardFault_Handler()
检查:1.数组越界2.内存溢出,访问越界3.堆栈溢出,程序跑飞4.中断处理错误原创 2019-07-05 10:51:06 · 907 阅读 · 1 评论 -
stm32 系统时钟设定RCC
1.共四种时钟信号,LSE和HSE为外部时钟信号,用上图的引脚接入晶振或者时钟源。2.系统默认的时钟配置是用函数SystemInit实现的,默认为LSI时钟信号,为8MHz。3.可以使用外部高速时钟信号HSE,用PD0和PD1引脚,然后用程序设置APB总线、APB1、APB2等的时钟。可以用FPGA作为HSE的时钟源。 RCC_DeInit();...原创 2019-06-20 18:19:15 · 937 阅读 · 0 评论 -
STM32的存储分配
1.keil编译后:Program Size: Code=174322 RO-data=81982 RW-data=10296 ZI-data=54400 Code:代码段,存储代码RO-data:程序中的指令和常量RW-data:程序中已经初始化的数据ZI-data:程序中未初始化的数据(如果数据被初始化为0,也放在ZI-data中) 2.STM32F103VE...原创 2019-01-27 11:49:19 · 670 阅读 · 0 评论