资讯
论坛
词条
众包
招聘
商城
下载
问答
博客
工程师家园
帮助
搜索
登录
立即注册
一牛网论坛
一流研发工程师学习交流分享电子技术的论坛!
工作时间
周一到周五 9:00-11:30 13:30-19:30
热线电话
19168984579
论坛客服
QQ:
2064607811
微信:
19168984579
商城客服
QQ:
1911822682
微信:
18924675756
一牛网
›
芯片词条
›
stm32
stm32
STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex®-M0,M0+,M3, M4和M7内核
机械防抖摄像头
18-30倍可变焦模组
5G相关方案定制
T31/T40方案定制
全志方案定制
展讯4G/5G方案定制
FPGA高清视频方案
高通方案
显示屏方案
AMLOGIC相关方案
Ai硬件方案
PD超级快充方案
MTK4G/5G方案
wifi/cpe相关方案
RK相关方案
摄像头和测温模块
高精度定位模组
联咏相关方案
其他需求定制联系我
全部
帖子
资料
日志
“stm32”
的帖子
主题
版块
作者
回复/查看
最后发表
STM32MP135开发板助力电力行业,IEC61850协议移植笔记
arm开发
myyangyang
2024-2-2
3
554
cheng03
2024-2-22 09:01
多种有功/无功功率测量 STM32 Modbus-RTU(Arduino 内核)
意法半导体STM
mohammadfa91
2024-1-16
0
132
mohammadfa91
2024-1-16 22:55
快速了解STM32的ADC功能,从入门到精通
原理图|SCH
罗小群123
2024-1-15
2
179
罗小群123
7 天前
如何选择米尔基于STM32MP1系列核心板和开发板
arm开发
myyangyang
2023-9-28
0
404
myyangyang
2023-9-28 16:18
STM32单定时器多路输入捕获测量PWM的频率和占空比实现
意法半导体STM
chatgpt
2023-6-9
0
511
chatgpt
2023-6-9 09:53
stm32与51单片机编程的区别(stm32与51单片机区别)
51单片机
wongjack
2023-6-1
0
294
wongjack
2023-6-1 16:06
意法半导体STM32中文参考手册(ARM内核32位高性能微控制器)
意法半导体STL
5682ssa
2023-4-6
1
424
夏目夏目
2023-5-17 10:43
灵动微MM32SPIN05PF 兼容替换 STM32F030C6T6
灵动微单片机
15622383762
2023-3-31
0
272
15622383762
2023-3-31 18:19
STM32选型筛选手册
意法半导体STM
tinkerwin
2023-3-11
2
507
vernoon
2023-3-27 16:00
高性能国产32位M0内核MCU单片机DP32G003替代STM32F003
IC设计
DNSJLIAO
2023-2-6
0
371
DNSJLIAO
2023-2-6 16:04
STM32选型手册
意法半导体STM
songbaoyu_115
2023-2-28
0
607
songbaoyu_115
2023-2-28 09:41
stm32和51单片机的区别
51单片机
罗小群123
2023-11-20
1
433
罗小群123
7 天前
STM32入门教程HAL库
意法半导体STM
BOE123
2023-10-5
1
249
wu12345
2023-10-13 15:37
EC200x-CN 初始化 .c .h 代码 socket 代码 , stm32 建立连接过程。
移远通信
kevin9101
2022-8-11
0
381
kevin9101
2022-8-11 12:06
嵌入式 STM32L433RBT6 STM32 32位ARM单片机
意法半导体STM
mjdic
2022-7-23
0
484
mjdic
2022-7-23 16:23
STM32F303VCT6[STM32] 32bit ARM Cortex M4, MCU 数据手册
单片机基础
mjd888
2022-6-21
0
506
mjd888
2022-6-21 10:39
基于FPGA和STM32的流式细胞仪数据采集系统设计
FPGA
ppppppppp
2022-4-6
3
666
风吹过后
2022-8-11 09:49
stm32库开发指南电子书
旭曜科技
余教_S4646
2022-4-19
0
353
余教_S4646
2022-4-19 15:50
一种新型车载雷达天线舱开合系统的设计
天线技术论坛
United
2022-4-1
2
696
1264204425
2022-8-26 13:19
STM32 I2S的音频应用开发介绍
意法半导体STM
不吃鱼的猫
2022-3-8
4
1155
kami03372
2022-3-24 15:35
查看更多
“stm32”
的资料
843e0bb21224733ca9636d4f8d49d66d.png?v=439303
大小:108.96 KB
更新日期:2024-02-02 11:42:16
免费
下载
727711441fbdb9ded7716df16abd4d5a.png?v=398018
大小:85.77 KB
更新日期:2024-02-02 11:42:18
免费
下载
e849500ccbbf2547d6100e8d9d123e1f.png?v=438013
大小:126.97 KB
更新日期:2024-02-02 11:42:19
免费
下载
176d3f56fe9fce7c03972db0434eb1ca.png?v=124452
大小:141.01 KB
更新日期:2024-02-02 11:42:20
免费
下载
a9cb0b4874f981df74bdfce7c102496e.png?v=180634
大小:103.43 KB
更新日期:2024-02-02 11:42:22
免费
下载
查看更多
“stm32”
的日志
ST官方基于米尔STM32MP135开发板培训课程(一)
myyangyang
2023-7-27 18:04
本文将以Myirtech的MYD-YF13X以及STM32MP135F-DK为例,讲解如何使用STM32CubeMX结合Developer package实现最小系统启动。 1.开发准备 1.1 Developerpackage准备 a.Developer package下载: https://www.st.com/en/embedded-software/stm32mp1dev.html b.解压后进入source目录: c.源码准备(可以根据每一个source目录下的README.HOW_TO.txt中第三点准备): TFA源码 $ cd tf-a-stm32mp-v2.6-stm32mp-r2-r0 $ tar xf tf-a-stm32mp-v2.6-stm32mp-r2-r0.tar.xz $ cd tf-a-stm32mp-v2.6-stm32mp-r2 $ for p in `ls -1 ../*.patch`; do patch -p1 $p; done OP-TEE源码 $ cd optee-os-stm32mp-3.16.0-stm32mp-r2-r0 $ tar xf optee-os-stm32mp-3.16.0-stm32mp-r2-r0.tar.xz $ cd optee-os-stm32mp-3.16.0-stm32mp-r2 $ tar xf ../fonts.tar.gz $ for p in `ls -1 ../*.patch`; do patch -p1 $p; done U-Boot源码 $ cd u-boot-stm32mp-v2021.10-stm32mp-r2-r0 $ tar xf u-boot-stm32mp-v2021.10-stm32mp-r2-r0.tar.xz $ cd u-boot-stm32mp-v2021.10-stm32mp-r2 $ for p in `ls -1 ../*.patch`; do patch -p1 $p; done Kernel源码 $ cd linux-stm32mp-5.15.67-stm32mp-r2-r0 $ tar xf linux-5.15.67.tar.xz $ cd linux-5.15.67 $ for p in `ls -1 ../*.patch`; do patch -p1 $p; done 1.2 SDK安装 请阅读WIKI完成 Install_the_SDK。 1.3 STM32CubeProgrammer安装 请根据WIKI给出的命令/步骤安装 CubeProgrammer and libusb installation。 2.原理框图 首先看一下Myirtech的原理图框架: 从原理框图中可以得出以下硬件配置信息: 1.STM32MP135DAF7 2.DDR3L 3.分离式电源设计 4.支持QSPI NAND,SD卡启动 5.双千兆以太网口 6.USB Host 7.USB OTG (烧录用) 8.UART4 debug串口 9.外部时钟源,HSE(24MHz),LSE(32.768KHz) 3. STM32CubeMX项目创建 打开STM32CubeMX, 根据芯片的part number选择正确的芯片封装开始项目创建,例如:Myirtech使用的是STM32MP135DAF7, 点击“Generate Code”之后会生成一个近乎空的project,设备树结构: Note : STM32CubeMX的规则是先生成Kernel的dts, 然后将生成的dts文件拷贝到u-boot目录下,也就是说u-boot的设备树stm32mp135d-myir_bring_up-mx.dts是从kernel目录拷贝过来的,所以在U-Boot阶段修改设备树,添加User code时,请同步修改kernel的设备树或者将修改好的设备树拷贝到Kernel目录,防止下次使用CubeMX生成设备树的时候,u-boot部分的修改被kernel未修改的设备树覆盖。 创建设备树软链接: TFA: PC$cd PC$ln-s/local/home/xxx/Desktop/STM32CubeMX/myir_bring_up/DeviceTree/myir_bring_up/tf-a/*fdts/ OP-TEE: PC$cd PC$ln-s/local/home/xxx/Desktop/STM32CubeMX/myir_bring_up/DeviceTree/myir_bring_up/optee-os/*core/arch/arm/dts/ U-Boot: PC$cd PC$ln-s/local/home/xxx/Desktop/STM32CubeMX/myir_bring_up/DeviceTree/myir_bring_up/u-boot/*arch/arm/dts/ 培训资料未完,请关注下一期文章。
展开>>
收起<<
3 次阅读
|
0
个评论
STM32学习日志1
热度
6
95uu
2017-4-9 18:33
//======================================================// **基于学习STM32有一段时间了,特意写下一篇关于一个简单的跑马灯 的例程,梳理思路,也希望我自己的理解能帮到一些学习STM32的初学者 /**再此,鸣谢余师傅在学习上的大力帮助!!**/ //======================================================// 首先,GPIO的配置种类有8种。分别为模拟输入、浮空输入,上拉输入、下拉输入、开漏输出、推挽输出、复用开漏输出、复用推挽输出。 下面将以实例的方式讲解GPIO的设置及实现过程。 事例1:跑马灯实验 跑马灯实验的功能:LED灯进行有规律闪烁。(下面的LED灯的数量都为2个,所以关于寄存器的配置也将以两组的方式进行讲解) 首先要知道普通的IO就两种功能一个为输入,一个为输出。然后再以输入和输出细分为以哪种模式输出、以哪种模式输入。要设置IO的模式这时就要使用到寄存器进行设置,STM32的IO端口一般由7个寄存器来进行控制。 分别为 (1)配置模式的2个32位的端口配置寄存器 CRL 和 CRH; (2)2 个 32 位的数据寄存器 IDR 和 ODR; (3)1 个 32 位的置位/复位寄存器BSRR; (4)1个 16 位的复位寄存器 BRR; (5)1 个 32 位的锁存寄存器 LCKR; 而我们常用的 IO 端口寄存器只有 4 个:CRL、CRH、IDR、ODR。 首先,一般一个程序的开始都会从入口main函数开始执行,而一个功能的实现之前都需要做一些准备工作,当然跑马灯也不例外,在程序执行前,IO需要初始化,而初始化要做的就是对程序需要用到的GPIO的寄存器进行配置。然后设定输出设备的初始状态,即跑马灯的初始状态。一般程序在执行前,输出设备都会是处于关闭状态。最后增加延时函数,让LED灯在亮与灭之间有一段时间的状态保留,不然时间过快,人类的视觉根本捕抓它的状态变化。 下面来讲一下实现跑马灯效果的IO要怎么配置。首先先说一下使用LED来进行跑马功能的话只需要用到RCC-APB2ENR、GPIOX-CRL、GPIOX-ODR三个寄存器(GPIOX中的X表示为GPIO的组别,例如GPIOB表示在GPIO的B组上,因为一般单片机上的GPIO一般都会有很多组的,这样也只是为了区分这些IO罢了) CRL 和 CRH 控制着每个 IO 口的模式及输出速率。 这里需要注意的是在配置GPIO前,都需要先使能该GPIO的时钟!(可能有人会问“为什么一定要是使能时钟呢?”答案是:GPIO也是外设的一种,然后外设是需要提供时钟信号工作,以便于设置GPIO的数据传输速度的高速/低速输出,所以有关数据的传输都是在时钟信号的基础上的。51单片的IO口也有时钟,只是为了方便,默认开启的,ST的为了更好的控制功耗,电路上做的可以选择开关时钟,降低功耗。补充网友的答案:“寄存器是基于触发器的,触发器的赋值是一定需要时钟的,而寄存器的时钟是由总线时钟提供的,就是说没有总线时钟的话,你给寄存器值它是不会读入的”) 然后设置两个LED的GPIO的模式,因为LED是输出设备,所以GPIO将设置成输出模式,其中配置模式要用到的寄存器为配置寄存器CRL和CRH。其中CRH为高位寄存器,CRL为低位寄存器。(有人可能有疑问为什么用的是32位的寄存器为什么还要为两个寄存器来管理呢?难道是32位还不够配置吗?答案是:是的,不够用。配置寄存器对一个GPIO的配置要用4个位来完成。一组GPIO有16个引脚,一个引脚要4位的话,那么16个引脚就要16*4=64,那么就要2个32位的寄存器来实现,所以就干脆把高八位给一个寄存器,低八位给另外一个寄存器,这就出现了CRL和CRH。也许有人还会有疑问说为什么一定要用4位来对一个引脚的配置呢?答案是肯定的,因为前面说了,对GPIO的配置首先配置为输入模式或者输出模式,然后再对输入、输出配置为哪种输出,哪种输入,是推挽输出呢,还是开漏输入呢,这都是需要至少2个位来进行配置,而且输入、输出模式各有4种模式,共8中,这样要以最少的资源来实现的话,用00、01、10、11这种2个位来实现是最省资源的,所以2*2=4,所以对于1个GPIO的模式的配置至少也就要4位了。) 接着就是查看LED的GPIO的引脚接在IC哪个引脚上。怎么查看LED的引脚到底接在哪呢?这个要看开发板的原理图,不同的板子来说或者对于不同的商家来说在GPIO的引脚接线上会有不同,以我的开发板的原理图可以发现LED灯的GPIO分别接在了GPIOB的pin5和GPIOE的pin5上,根据电路性质,一般会将LED设置为推挽输出模式(可能这时就会有人问了,为什么就是推挽呢?为什么不是开漏呢?我的理解是:这是有电路性质决定的,推挽顾名思义就是灌电流与拉电流都可以输出,通俗地讲就是输出高低电平。而开漏是一直输出低电平,当你要输出高电平的时候需要加上拉) 通过查阅寄存器的数据手册可知,00位通用推挽模式,那么 //======================================================// GPIOB-CRL |= 3 20;//设置模数数据传输速率 GPIOB-CRL =~(3 22);//设置GPIO模式 //======================================================// 这样就把GPIOB组的pin5设置成了通用推挽模式,前面说了一个引脚需要4个位来配置,查看寄存器数据手册可看到,前面2个位是设置通用推挽模式的,后面2个位是基于这种模式的数据传输速率,在这里我们悬着的是“最大速度50MHz”,而GPIOB-CRL|=320;就是设置数据传输速率为最大速度50MHz,GPIOB-CRL=~(322);为设置GPIOB的pin5为通用推挽模式。 最后就是设置LED的初始状态了,再说之前先说一下ODR寄存器。 ODR是一个端口输出数据寄存器,也只用了低16位。该寄存器为可读写,从该寄存器读出来的数据可以用于判断当前IO 口的输出状态。而向该寄存器写数据,则可以控制某个 IO 口的输出电平。 所以在配置LED初始化的时候就需要调用这个寄存器设置LED的初始状态。 //======================================================// GPIOE-ODR|=15;//设置LED的初始化状态为1(1为到电平,亮灭有其电路决定,我的开发板由于接了上拉,使得低电平才是有效的,即0为LED灯亮,1为LED灯灭) //======================================================// 这样初始化函数就完成了。 具体初始化代码如下: //=======================led.c===============================// /************************************************************** **为了使得程序的模块化,所以把LED的初始化代码独立写成一个源文件 **当然这样也使得需要写一个头文件进行声明,这样才能让main函数或者其他函数调用 **************************************************************/ #include "stm32f10x.h" #include "led.h" void led_Init(void) { RCC -APB2ENR |= 1 3;//使能 PORTB 时钟 RCC -APB2ENR |= 1 6;//使能 PORTE 时钟 GPIOB -CRL |= 3 20; GPIOB -CRL =~ (3 22);//PB.5 推挽输出 GPIOB -ODR |= 1 5;//PB.5 输出高 GPIOE -CRL |= 3 20; GPIOE -CRL = ~(3 22);//PE.5 推挽输出 GPIOE -ODR |= 1 5;//PE.5 输出高 } //======================================================// 其头文件如下: //=========================led.h=============================// #ifndef __LED_H_ #define __LED_H_ extern void led_Init(void); #endif //======================================================// 接下来说一下初始化好了,主函数要怎么写。 第一需要的是点亮LED的语句,在初始化中有提到,设置LED初始化状态即:GPIOB -ODR |= 1 5;//PB.5 输出高 那么同时也能使用这句来进行LED的亮灭控制。代码如下: //==========================main.c============================// #include "stm32f10x.h" #include "led.h" int main(void) { int i=0; led_Init(); //LED初始化 while(1) { GPIOB -ODR = ~ (1 5); //PB.5输出低电平,即点亮LED GPIOE -ODR = ~(1 5); //PB.5输出低电平,即点亮LED for(i=0;i1000000;i++); //延时 GPIOB -ODR |= 1 5; //PE.5输出高电平,即灭掉LED GPIOE -ODR |= 1 5; //PB.5输出高电平,即灭掉LED for(i=0;i1000000;i++); //延时 } } //======================================================// 整个跑马灯的工程就只需这三个文件,就能简单实现跑马的功能,如果你想要延时的时间是规律的,那么你就要去使用定时器了。因为定时器定时的时间是准时的,软件延时第一消耗CPU的资源,然后时间也不够精确,所以一般在对时间要求没有很精确的要求是才会使用软件延时的做法。 //=======================================================================// 注释:1、如有错误,跪谢大神出来指错。 2、如这篇文章对您有些帮助,转载请注明出处,谢谢! //=======================================================================//
展开>>
收起<<
个人分类:
STM32
|
5411 次阅读
|
4
个评论
谁有ili9806e在stm32下的驱动
热度
2
wsaddddddddddd
2015-8-24 17:52
谁有ili9806e在stm32下的驱动
展开>>
收起<<
1240 次阅读
|
2
个评论
更多...
小广播
一牛网是干什么的?1分钟了解一牛网
一牛网5G产品及方案:mtk5G/高通5G核心板/5GCPE/5G相关仪器
wifi6方案(IPQ807X/IPQ6000/QCA9984/MT7622/MT7621A)及整机定制
各类带AI算力开发板/定制(mtk/海思/算能/sigmastar/amlogic/rk等)
珠海海奇半导体A/B/C/D/E系列产品性能参数介绍
热门推荐
一牛MTK技术交流QQ群:947753880
MTK方案定制,请联系
13316559917
(
微信同号,加号请备注:MTK
)
MTK系列开发板/核心板:
MTK5G-MT6853开发板
MTK5G-MT6873开发板
MT6771-4G核心板
mt8788 AI智能模块
MT6763开发板
MT6762开发板
MT6761开发板
MT6765开发板
MT6757芯片核心板
MT6753核心板
MT6739开发板
更多开发板点击查看
相关词条
STL25DN10F7
STL34N65M5
STL35N3LH8
STL50N25N3LLH5
STL51N3LLH5
STL52N25M5
STL70N2LLH5
STL70N10F3
STL73
STL73D
STL75N3LLZH5
STL80N3LLH6
STL80N10WF7
STL80N15F7
STL80N75F6
STL90N6LF7
STL100N1VH5
STL105NS3LLH7
STL110NS3LLH7
STL140N4LF7
STL160NS3LLH7
STL220N3LLH7
STL220NS6F7
STLA02H
STLD110N10F7
STLED325
STLVD111
意法半导体STL
意法半导体STM
STG3157
意法半导体
ST21NFCD
STM32L152
STM32MP1
STM32F301
stm32mp153
stm8s00f3
stm8s00k3
STM8S003F3P6
STM32L151
STM32F103xB
STM32F103x8
STM32F479
STM32F469
STM32F427
STM32F437
STM32F412
STM32F446
STM32F423
STM32F413
STM32F207
STM32F417
STM32F415
STM32F401
STM32F429
STM32F439
STM32F042
STM32F7
STM32f107
STM32F405
STM32F205RBT6
STM32F107RCT6TR
STM32F107RCT6
STM32F105RBT6
STM32F105R8T6
STM32F103ZGT6
STM32F103RDT6
STM32F103VCT6
STM32F101
STM32F103C8T6
STM8S103
STM32F103ZET6
STM32F100RCT6B
STM32F100C4T6B
STM32F091VCT6
STM32F072VBT6
STM32F072CBT6
STM32F072C8T6
STM32F071RBT6
STM32F071CBT6
STM32F070F6P6
STM32F070CBT6
STM32F042F4P6
STM32F031G6U6TR
STM32F031C6T6TR
STM8S208RBT6
STM32F205
51单片机
STM32F4
stm32F051
STM32F030
MEMS
STM32F2
STM32F103
STM32F407
stm8
MCU
单机片
stm32
热门资料下载
RK3368 V1.0_PCB文件.zip
必须弄懂的495个c语言问题.pdf
MT6356_PMIC_Data_Sheet_V1.3.pdf
很好的MTK-Android资料.doc
LinkIt_Assist_2502_pin_out_v1_0 .pdf
MT7623N_Datasheet_preliminary (1).pdf
MT7623A_Datasheet_preliminary (1).pdf
MediaTek_LinkIt_Assist_2502_Hardware_Reference_Design_v1_1.zip
4G IMEI 写号神器.rar
关于我们
关于我们
加入我们
新闻动态
联系我们
服务支持
官方商城
隐私声明
常见问题
论坛总则
合作/建议
TEL: 19168984579
工作时间:
周一到周五 9:00-11:30 13:30-19:30
扫一扫关注公众号
扫一扫打开小程序
Copyright © 2013-2024
一牛网
版权所有
All Rights Reserved.
帮助中心
|
隐私声明
|
联系我们
|
手机版
|
粤ICP备13053961号
|
营业执照
|
EDI证
搜索
扫一扫添加微信客服
QQ客服
返回顶部
返回顶部