stm32的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了stm32的问题相关的知识,希望对你有一定的参考价值。

你好,我是学51单片机的,对51也很熟悉,最近想学stm32,不过看了之后觉得无从下手,请教一下如何学stm32啊,先谢了!

进我空间、、我间空里有STM 32的视频教程、、非常详细、一共14讲、、
http://hi.baidu.com/mcu_designer/blog/item/423e57dc003f5a3833fa1c2c.html

视频目录
第一讲 ARM处理器和STM32微控制器(37分钟)

ARM处理器家族
-ARM7系列介绍
-ARM9系列介绍
-ARM10和ARM11系列介绍
-ARM Cortex系列介绍
ARM Cortex-M3的应用介绍
STM32微控制器
-特征和资源讲解
-管脚的配置灵活性讲解(即管脚的重映射功能)
-微控制器功能框图讲解
开发工具IAR EWARM介绍
STM32微控制器最小系统
-电源电路讲解(芯片电源功能块及开发板电源电路设计讲解)
-时钟电路讲解(芯片时钟树及开发板时钟电路设计讲解)
-复位电路讲解(芯片复位功能块及开发板手动和上电复位电路设计讲解)
-启动配置电路讲解(芯片启动模式的讲解)
-调试电路讲解(调试电路接口设计和所需仿真器讲解)
STM32微控制器的应用领域介绍

第二讲 STM32固件库说明及移植到IAR EWARM中的详细过程(33分钟)

IAR EWARM破解版的详细安装方法讲解(包括ST公司提供的更新文件的安装)
STM32固件库介绍
-固件库的功能介绍
-固件库的特点及有点介绍
-固件库内部各源文件详细介绍
移植STM32固件库到IAR EWARM及IDE的操作方法
-良好的工程创建的习惯(以GPIO的操作为例)
-编译设置中的各选项详细讲解
-编译成功的输出文件说明

第三讲 触摸屏的使用(14分钟)

-电阻触摸屏的结构介绍

-使用ADC来获取X,Y轴的坐标原理

-程序详解

第四讲 存储器和总线结构(19分钟)

-总线结构讲解

-理解内部存储器的分配

-lnkarm_flash.xcl和lnkarm_ram.xcl文件的理解

第五讲 RCC的配置和使用(55分钟)

-理解各种复位

-时钟树分析

-Systick 系统嘀嗒定时器的讲解

-相关寄存器理解

-相关库函数的理解

-程序讲解

第六讲 EXTI和NVIC的配置和使用(34分钟)

-STM32中的NVIC的理解

-NVIC的寄存器和库函数的理解

-STM32中的EXTI的理解

-EXTI的寄存器和库函数的理解

-程序讲解

-外部模拟中断输入测试实验

第七讲 STM32的GPIO和AFIO的配置和应用(54分钟)

STM32的GPIO
-GPIO资源介绍
-GPIO工作模式讲解
-GPIO的特点讲解
STM32的AFIO
-芯片中的AFIO资源讲解
-使用AFIO的方法和操作要领讲解
GPIO的初始化要素
-选取工作管脚的参数配置讲解
-选取管脚工作模式参数配置讲解
-选取管脚速率参数配置讲解
AFIO的使用
-如何映射功能块到相应管脚的方法讲解

GPIO和AFIO的寄存器讲解
GPIO的库函数讲解
工程源程序讲解
-跑马灯实验详解(GPIO的输出操作)
-按键识别和LED指示实验详解(GPIO的输入和输出操作)

第八讲 I2C总线(96分钟)

I2C总线中的概念讲解
I2C总线应用实例
-以无绳电话基站为例来总结I2C接口通信的特点和注意事项的讲解
I2C总线的操作要素
-工作模式讲解
-数据的有效性讲解
-传输开始和停止条件讲解
-数据传输格式讲解
-寻址方式讲解
-仲裁和时钟同步讲解
基于I2C总线的读写工作过程
-写数据通讯过程讲解
-读数据通讯过程讲解
EEPROM AT24C02 的操作
-特点讲解
-各种写操作讲解
-各种读操作讲解
软件模拟I2C时序
-I/O模拟开始信号、停止信号、提供时钟信号、发送ACK、发送一个字节数据和接收一个字节数据的时序模拟讲解
-连续多字节写函数伪代码实现讲解
-连续多字节读函数伪代码实现讲解
STM32中的I2C控制器
-特点讲解
-I2C总线中出现的错误讲解
-I2C中DMA的特性讲解
-I2C主发送器工作流程讲解
-I2C主接收工作流程讲解

STM32中的I2C控制器的寄存器详解

I2C库函数详解

工程源程序讲解
-STM32的I2C控制器对AT24C02的各种操作功能函数的详解

第九讲 TFT模块的字符、中文和图片显示(26分钟)

TFT模块
-特点介绍
-坐标系和引脚讲解
TFT模块的配置和取模软件的取模原理
-TFT模块的常用配置讲解(包括数据格式和扫描模式等)
-取模软件为中文和图片取模的原理讲解
工程源程序讲解
-字符显示功能函数讲解(含ASCII码表分析)
-图片显示功能函数讲解
-16*16中文显示功能函数讲解
-48*48中文显示功能函数讲解

第十讲 单总线(33分钟)

DS18B20讲解
-特点讲解
-功能框图详解
-各种寄存器及温度输出数据格式讲解
-电源供电方法介绍
单总线讲解
-特点讲解
-硬件设计讲解
-命令序列讲解
-初始化
-ROM命令
-功能命令
-信号时序讲解(即软件模拟)
-复位脉冲和应答脉冲
-写时隙
-读时隙
工程源程序讲解
-使用GPIO来操作DS18B20的各种功能你函数详解

第十一讲 SPI总线(85分钟)

SPI总线介绍
SPI总线的通讯时序(即软件模拟SPI通讯时序)
-通讯框图讲解
-四种SPI通讯时序讲解
-GPIO模拟发送一位数据时序讲解
-GPIO模拟接收一位数据时序讲解
-GPIO模拟写一个字节数据的伪代码实现讲解
-GPIO模拟读一个字节数据的伪代码实现讲解
STM32中的SPI控制器
-特点介绍
-NSS引脚的软硬件管理详解
-SPI接口硬件设计讲解(全双工和单工通讯等)
-使用硬件SPI容易出错的地方和操作要领讲解
FLASH AT45DB161D的操作
-特点介绍
-内部存储组织讲解
-各种读写时序讲解
-各种读写指令讲解
-擦除指令讲解

STM32中的SPI控制器的寄存器详解

SPI的库函数详解

工程源程序讲解
-STM32的SPI控制器对AT45DB161D的各种操作功能函数详解

第十二讲 SMT32中的ADC操作(88分钟)

ADC的特点讲解
ADC的功能框图讲解
ADC的各种转换模式讲解(包含规则组和注入组的操作原理和注意事项)
ADC的采样时间设置讲解
ADC的数据对齐讲解
ADC的模拟看门狗作用和使用讲解
ADC中的DMA特性和配置讲解
双ADC工作模式详解

ADC的寄存器讲解

ADC的库函数讲解

工程源程序讲解
-单通道连续转换且使用DMA传输的功能程序详解
-单通道连续转换且使用DMA传输和模拟看门狗,并实时更新报警标志的功能程序讲解

第十三讲 CAN总线(124分钟)

典型CAN总线网络系统结构详解(包括各组成部分的功能讲解)
CAN总线中的基本概念分析讲解
CAN总线的报文传输和结构讲解
-各报文类型
-各报文帧格式
-位定时
-帧间间隙
-位填充
CAN总线特点讲解
STM32中的CAN控制器
-特点讲解
-功能框图讲解
-工作模式讲解
-初始化配置和参数设置讲解
-发送数据操作讲解
-接收数据操作讲解
-过滤器工作原理讲解
-接收FIFO工作过程讲解
-总线出错管理讲解
-位时序讲解

CAN控制器的寄存器详解

CAN控制器的库函数详解

工程源程序讲解
-单块板的自测试详解(包括查询和中断方式,也含标准帧和扩展帧传输)
-2块板的通信测试-查询方式详解
-2块板的通信测试-中断方式详解

第十四讲 RTC和BKP(72分钟)

-RTC模块要点讲解

-RTC寄存器讲解

-BKP特点

-BKP寄存器讲解

-RTC和BKP库函数讲解

-例程详解
参考技术A 我之前也只会51,后来8月放暑假开始学stm32,现在已经会操作ADC了,没什么难的。
我的建议:
1、买北航那本 基于MDK的STM32处理器开发应用 ,虽然基本=汉化版user manual,但有本书看看还是比看PDF舒服
2、开发板建议买上面那本书提到的STM32V100,再买一个j-link,淘宝上有,个人认为j-link版本用v7足以。如果觉得贵的话可以买那个什么火牛开发版,ourdev论坛上不少人都是用这个。还觉得贵的话可以买Mini-stm32开发板,淘宝上搜一搜就有。
3、要注意学会使用固件库,有库函数使用操作就很方便了,我觉得比使用51还简单。不要纠结于那些什么thread模式handler模式,那些编译器都会帮你处理好了,不用管,了解一下即可。指令集也不必深究,等搞熟了再去研究指令集。
4、暂时想到的就是这些了,楼主有什么不懂尽管上oudev论坛的stm32专区翻。我最近因为学这玩意也收集了不少帮助类文档和视频,楼主需要的话尽管找我要,qq346518367

参考资料:www.ourdev.cn

参考技术B 我最近买了一块STM32的板子,可能过一两天就到了,为了能学习Cortex-M3,我找到一些相关资料:
《Cortex-M3权威指南》, 地址:http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=1319637&bbs_page_no=1&search_mode=1&search_text=Cortex-M3&bbs_id=9999,在此感谢这位网友。

个人感觉学ARM跟学51一样,一些原理还是相同的,所以方法上也应该有些相通的地方。

一起学习吧,加油!本回答被提问者采纳
参考技术C 先对着例程和PDF函数库读懂main函数的意思,后面的慢慢来,都是直接调用函数库 参考技术D 他们已经说了不少了 呵呵
那我就推荐个板子吧 DX32 我最近在学 蛮不错的。 淘宝上可以搜到
代码都是自己写的,有详细的注释,重要的光盘里的资料那个全啊哈哈哈

阿莫电子真当不错,建议好好混混。

stm32 spi全双工从机模式

【中文标题】stm32 spi全双工从机模式【英文标题】:stm32 spi full-duplex slave mode 【发布时间】:2019-12-08 18:03:20 【问题描述】:

我正在研究 stm32f0308-discovery 和 jetson tx2 之间的 spi 通信。 Jetson 是主人,stm32 应该是奴隶。 (我知道怎么做,但如果可能的话 stm32 也可能是主人。)我的问题是我是 stm32 的新手,我不知道如何让 stm32 成为奴隶。有人可以告诉我 stm32 spi slave 的方法吗?提前致谢。

【问题讨论】:

【参考方案1】:

您可以先阅读产品系列的参考手册。然后,您可以在 STM32Cube 软件包中找到 SPI 外设配置源代码示例。

如果您是 STM32 新手和微控制器生态系统的新手,恐怕您需要接受一些培训。但是网上有很多资源。

【讨论】:

谢谢!我只使用 2 个设备,它们是主设备和从设备,并且 NSS 也已激活。我想知道是否有必要,因为当我尝试从 stm32(从设备)读取数据时,必须有中断才能使用读取数据功能。我应该使用 NSS 中断还是有什么办法?【参考方案2】:

您可以在配置 SPI_InitTypeDef 结构时选择 SPI 模式。您需要将 SPI_Mode 设置为 Slave,如下所示:

SPI_InitDef.SPI_Direction = SPI_Direction_2Lines_FullDuplex;
SPI_InitDef.SPI_Mode = SPI_Mode_Slave;       // <-- This is it
SPI_InitDef.SPI_DataSize = SPI_DataSize_8b;  // 8-bit transactions
SPI_InitDef.SPI_FirstBit = SPI_FirstBit_MSB; // set it to match Master conf
SPI_InitDef.SPI_CPOL = SPI_CPOL_Low;         // set it to match Master conf
SPI_InitDef.SPI_CPHA = SPI_CPHA_2Edge;       // set it to match Master conf
SPI_InitDef.SPI_NSS = SPI_NSS_Hard;          // use hardware SS

可以找到使用蓝色药丸板的示例教程here

【讨论】:

以上是关于stm32的问题的主要内容,如果未能解决你的问题,请参考以下文章

关于stm32摄像头二值化的问题

stm32的地址分配方面的问题求解,恳请大神细心指针,不胜感激~~~

stm32 串口 中断的问题

stm32 ADC采样速率的问题

STM32 DMA问题

stm32外部按键中断无法退出中断问题