STM32内部含有硬核,对于一些协议(例如:UART,SPI,IIC,CRC等)我们只要调用硬核就可以了,同时我们也可以自己写通信协议。 这些硬核最终肯定是要有引脚输出的,这就是为什么STM32的引脚有复用功能的原因。
今天仔细读了一下内存管理的代码,然后还有看了堆栈的相关知识,把以前不太明白的一些东西想通了,写下来,方便以后查看,也想大家看了能指出哪里不对,然后修改。首先,先看一下stm32的存储器结构。Flash,SRAM寄存
在编写STM32程序代码时由于自己的粗心会发现有时候程序跑着跑着就进入了HardFault_Handler中断,按照经验来说进入HardFault_Handler故障的原因主要有两个方面:1:内存溢出或则访问越界。2:堆栈溢出。发生异常后我们
一、推挽输出:可以输出高、低电平,连接数字器件;推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电平由IC的电源决定。 推挽电路是两个参数相同的三极管或MOSFE
USB 时钟可以一直使能。如果CAN时钟没有使能,RAM 能被软件读写。(CANBus 不能发送和接受Message)如果CAN时钟使能,RAM不能软件被写。 CANBus Core 控制此RAM区域。(CANBus 可以发送和接受Message)CANBus 占用了
usart这部分代码我也是从网上copy出来的,一下是作者的解释:简单地说:想在mdk 中用printf,需要同时重定义fputc函数和避免使用semihosting(半主机模式),标准库函数的默认输出设备是显示器,要实现在串口或LCD输出
当我们采用并口传输数据的时候都会用如下的方法进行数据传输#define DATAOUT(x) GPIOB->ODR=x;STM32IO口都是16位的,所以当调用DATAOUT的时候就直接对GPIOB的16个IO口总体进行操作。但是我们如果只是选择高8位或者低
A/D转换原理及参数指标1.采样定理2.为了正确无误的用图5.2.2中所示的采样信号vs表示模拟信号vi,必须满足式中, fs>=2fmaxfs为采样频率;fmax为输入信号vi的最高频率分量的频率;上式就是所谓的采样定理。满足采样定理
本文以STM32F103ZE为原型,来剖析其内存结构,从而了解其内存物理地址,分配结构以扩展应用。STM32F103ZE这款芯片内置了32KB的SRAM,512KB的Flash,其映射地址如下图所示,该图来源于其数据手册。其中Flash的起始地址
输出模式只有4种哦,另外4种是输入模式,这个问题很常见:下面是引用文字:(1) 浮空输入_IN_FLOATING ——浮空输入,可以做KEY识别,RX1(2)带上拉输入_IPU——IO内部上拉电阻输入(3)带下拉输入_IPD—— IO内部
I2C总线是由NXP(原PHILIPS)公司设计,有十分简洁的物理层定义,其特性如下:只要求两条总线线路:一条串行数据线SDA,一条串行时钟线SCL;每个连接到总线的器件都可以通过唯一的地址和一直存在的简单的主机/从机关系
/******************************************************************************** Function Name : main* Description : Main program* Input : None* Output : None* Return : None**************************
最近考试较多,教材编写暂停了一下,之前写了很多,只是每一章都感觉不是特别完整,最近把其中的部分内容贴出来一下,欢迎指正。本文内容基于我对固件库的理解,按照便于理解的顺序进行整理介绍,部分参考了固件库的
固件升级的基本思路是: 将stm32 的flash划分为两个区域: 1.Bootloader区:存放bootloader的代码,bootloader代码完成的主要功能就是,判断外部条件,如果需要更新固件,则从指定位置(外接的U盘?板子上的外置
1、函数原型:void Jump_Address(void){if (((*(volatile u32*)ApplicationAddress) & 0x2FFE0000 ) == 0x20000000){test = (*(volatile u32*)ApplicationAddress);JumpAddress = *(volatile u32*) (ApplicationAddr
1、什么是UIP协议栈:UIP是一种适用于小型嵌入式通信的TCP/IP协议栈,由瑞典计算机科学院的人开发编写的,它去掉了完整的TCP/IP中不常用的功能,简化了通讯过程,但其保留了网络通信中必须使用的协议,把设计重点放在
首先,先来看一下这个模块的基本功能和原理。HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,测距精度可达高到3mm;模块包括超声波发射器、接收器与控制电路。像智能小车的测距以及转向,或是一些项目
吃亏了,才长记性,板子回来了(又一个晚上没有了, 工程师的时间去哪儿了?多半就是这样给浪费掉了,从这些失败中长大),实在调不通时再去啃PDF,发现以下:7.3.2 把OSC_IN/OSC_OUT引脚作为GPIO端口PD0/PD1外部振荡器
写作原由:因为之前有对stm32 优先级做过研究,但是没时间把整理的东西发表,最近项目需要2个串口,但是不是两个串口同时使用,只是随机使用其中一个,程序对2个串口的优先级需要配置;此文思路:“中断优先级”思维
1.在对GPIOx_ODR的个别位进行编程时,软件不需要禁止中断。2.GPIO具有锁定机制。主要是在一些关键引脚上为了防止程序跑掉而引起不必要的后果。3.GPIO的库函数问题,GPIO_SetBits:置所选端口的一个或者多个位高;GPIO