>>实战经验列表: f8 g! q9 ?# q( e 社区资料下载栏目开通【ST MCU实战经验】版块,将在这个板块中,针对工程师的应用问题,ST做了详细的解答。进入ST MCU实战经验后,可直接下载文档以及程序。也欢迎大家回帖交流。 提示:点击各主题,进入帖子,可下载ST工程师解答详请 一、通信接口 1. STM32F2x7_Ethernet(FreeRTOS)驱动更新% H! ^1 E3 I# \* p0 r8 {# M" H ( B2 `/ f7 |, o7 @ 2. SPI 接口发片选信号导致死机 0 d3 ` ], }0 w8 n5 V 3. USART1不能设定600BPS的波特率; U! i! [ F, ?1 o" y & P7 D7 H' Y$ X3 o4 R/ E 4. I2C 接口进入 Busy 状态不能退出9 |* k1 y) a+ s- v ; r! x: L7 `: n4 k 5. 对 Flash操作导致 USARTU接收丢数据 ]1 p. p, A1 z5 P- X 6. USB接口易损坏3 Q# Y9 j: Q# m3 T; H& B) N s: i7 n& {0 I# M 7. UART发送数据丢失最后一个字节 8 f$ M% H+ Z8 E( i2 b. w! d$ H 8. 使用 CCM 导致以太网通信失败6 x; S+ I5 a% P/ Q7 ]/ e# J 9. SPI3 接口没有信号送出 10. 时钟延展导致 I2C 通信不可靠 8 K6 H1 D" O! |0 K. }; S 11. M0的USART波特率自动识别问题 ) T$ u9 T0 d( o& h 12. WK15 OTG做U盘主机兼容性提高 13. 以太网电路设计注意事项8 u& V+ b* d& u 8 Q1 |: o' h. J% H9 C# d* _) F! C 14. OUG主机库在BULK传输上对NAK的处理 r5 d: ^6 ?) M5 A! j4 C9 K" }1 h 0 M3 s0 f3 _3 w/ Q; \" J 15. 串口断帧检测- c' ?2 z# t1 ~$ R1 ~ 16. VCP例程用于数据传输时丢失数据的处理+ F, U" q; h$ v( h* Z" v" W 17. STM8L051F3P6串口UART数据起始位判断的问题 ) F8 C2 S$ `8 \9 b6 Q9 O 18. STM8L152C6T6 硬件IIC,发送从地址后无ACK信号 19. STM8中UART奇偶校验的使用方法 ' ]& P- d* |( \4 m: B 20. STM32以太网硬件设计——PHY% z' w1 \$ L a9 O, w ( d/ i5 ^6 ?9 j6 y3 c 21. 一个判断I2C总线通信异常原因的方法 " i( \; w0 U; l/ K7 c5 k7 e) z 22. USB device库使用说明9 Z' f' B% l8 b j6 ]1 Z ) F! D9 B. {! o- t+ T% ~) P 23. STM32F103上USB的端点资源 24. 使用CubeMX生成TCPEchoServer程序 25. SPI接收数据移位 z% d$ j& H/ w2 ^* B' u ; J; f3 ~* V1 K$ h 26. STM32F0中Guard Time的设置- _/ h' @. @8 Y' y% l& _ 27. LwIP内存配置 3 c" z# [8 ^6 y2 ?' {) Y 28. STM32 USB Device的简易验证方法8 e5 t* E: P4 x+ a% A* ~, }6 i 29. USART 中断方式接收无响应问题的一种情况及其处理方法 30. STM32 基于 Nucleo板 CAN总线的建立 31. STM8 CAN总线的IdMask模式的讲解5 P3 |6 j% J5 B - n7 d3 x) i3 A0 p4 N 32. STM32F746ZG USB 驱动不正常 & c. c- U% S2 ] + b. t; G5 ]! c7 r ?3 R5 v- Q 33. MCU在STOP状态下通过UART唤醒分析 ' \/ u4 j* f% e9 {- X4 F 34. 通过STM32CubeMX生成HID双向通讯工程 1 h2 g+ k( w9 U 35. 串口工作在DMA模式下有时接收异常 36. STM32 Bootloader中 DFU使用限制 6 [1 T( ^7 A! O# I! y8 n) y0 e! F 37. UART异常错误分析& W% A% ^! X) e) D2 b; @2 f8 [ ) P, ]% O9 s8 i5 }( C5 d 38. 基于Cube库无法检测CAN2的接收中断 39. 基于STM32F7的网络时间同步客户端实现 c4 \5 M- v( {9 X. P/ n, I 2 y4 ?# ~# C, h 40. HID与音频冲突问题 41. 在进行USB CDC类开发时,无法发送64整数倍的数据) L u# k" _5 j8 n 42. 从零开始使用CubeMX创建以太网工程2 o, e4 R" A9 e. [" ~' O) I* y6 J ' Z; W: D9 T5 U* k- G ` 43. STM32F4xxx的I2C总线挂起异常处理7 e' o' E: I7 q# c! r/ ^: I 44. LPUART唤醒STOP MODE下的MCU. a) z) K; q; G+ W 45. STM32系列 MCU模拟双盘符 U盘的应用 46. CEC输出的数据和数据长度始终不匹配 47.STM8Lxxx I2C 程序第二次数据通信失败的问题分析: R4 U; [. j* i! d1 D. g; X x 48.在进行 USB CDC类开发时, 无法发送64整数倍的数据(续) ( L9 s+ m* [5 Q9 I' x 49. 增加UART接口应用时的异常分析% j5 s4 j* h) D( r9 E. }8 M2 V 2 e+ G: ?5 D3 E S4 p 50.UART应用异常案例分析 3 l+ m4 |) |2 p3 M- V 51. I2C配置顺序引发的异常案例 0 a1 Y1 R0 `2 ^3 C 52. STM32 USBD VBUS GPIO 53. USB传输数据时出现卡顿现象 54. STM32的高速USB信号质量测试实现4 K0 R1 x& x2 g. n- X# T$ {4 s% \ 55. 基于STM32 I2S的音频应用开发介绍 9 _6 K2 d) t) Z2 U0 x0 C, u: P 56. HID_CDC复合设备在WIN10的识别问题 ; f/ {. A6 O; O# _5 a4 s 57. STM32F767 的 USB 工作在 HOST 模式下的远程唤醒问题 # P7 k( `7 t. e1 X% l! o 58. 一个关于LPUART输出异常的问题分享 / Q: D( }$ z% p) m. ^ 59.通过 DfuSe 工具控制程序跳进 DFU 模式/ f* P4 N) a" P- o$ l 1 V0 u; p( |' H; H& ~5 J 60.UART IDLE中断使用-接收不定长串口数据 (2019·9·更新) 61.一个因初始化顺序而导致异常的话题 (2019.12.24) 62.MC SDK 5.x 中增加位置环 (2020.5.29) ) |( E0 o) C1 }4 U2 [' ?- @7 X 63. 如何根据应用需求调整STM32L5的memory partition(2020.7.16)& J" {1 n0 S# b; x" i 64. 使用STM32的MPU实现代码隔离和访问控制 (2020.7.16)" E: h1 X& ?" x9 Y' `+ H 2 L/ Q+ I. Z$ ^* a6 K 二、电源与复位! Z& @( L7 a" | , X' p L8 r+ r9 b) g7 W$ y 1. Vbat管脚上的怪现象4 }* @8 X5 H; N: t 2. 上电缓慢导致复位不良 ( k6 X8 Y% e; T' V 3. 关闭电源还在运行# S* @& T' l( Y2 I 3 S6 z1 `6 l' A% Z 4. 使用STM32 实现锂电充电器2 {/ R# X% E2 S! R, I2 p$ L" R 1 v! R$ I7 Q- n6 W$ _ 5. STM8L152 IDD电流测量! S$ M8 k; J$ \% l( Z1 t5 @3 C, e 6. STM8连续复位问题8 [: S6 s: L- ?5 q% \ % F! n( R0 t& M1 T' O 7. STM32F2电压调节器REGOFF与IRROFF引脚的使用 8. 使用STM8L-Discovery验证STM8L在LSI+WAIT模式下的电流 $ h1 O: Z3 O3 ?4 S* s& s 9. STM32F7与STM32F4的复位序列比较 3 R, K) F2 U3 s8 W! m 10. STM32F107 复位标志问题 11. VBUS引脚一段时间后管脚无法正常工作的分析和解决方法 7 @+ r4 }/ n5 E/ a5 l 12. Nucleo_L053不上电也能运行) E* @. p5 R+ B6 ` 13. STM32L4中STOP2模式下的漏电流 + Y. f: ?: [# B 14. 在没有外置晶振时HSE_RDY异常置位 15. FLASH被异常改写 (2018.5更新)2 x) [! `/ Z, P* |$ |* Z9 w$ H4 c + d$ o7 B, j- B; b1 N# C 16.与 PDR_ON 有关的一种异常现象及分析(2019·2·更新) 17.一个 STM32 芯片异常复位之案例分析(2020·2.27)9 c8 p; U: d% @$ \" n3 e 三、IAP和Bootloader , c* T* T1 ?5 y$ ` 1. Boot Loader与上位机通信不稳定4 Q/ g, K+ b4 o$ m3 F 2. IAP+APP 模式下不能启动 RTOS 3. 从 IAP Loader 向 App 跳转不可靠) s; }# v# ]: x+ }, n 5 V5 u/ B _& }. T+ c' l 4. STM32 MCU IAP例程跳转到APP代码简要分析: s2 T1 [% H" W4 N 7 y9 Y0 o! s9 h 5. STM32F091从自举程序向应用程序跳转的问题与解决. w% `" n. J3 @; }+ { . Y6 k9 ]5 k# S. N 6. STM32F09x不使用BOOT脚实现System Bootloader升级代码 0 ]1 S, E/ A* e; J 7. STM32F0启动模式相关问题探讨 8.STM32F091空片使用System Bootloader下载代码 9.STM8L IAP 应用程序中编程指导$ y. R, ^; ^! S u+ p 10. 如何通过STM32的串口实现简易脱机编程器* v8 {8 }0 C0 p! a' }" k7 D ! ?1 V% \, ~" K% \; Z0 A 11. 一种从用户代码调用系统存储器中Bootloader 的方法 9 f: ~8 H5 A" f9 W. d7 _4 a$ ^ 12. 利用 USB DFU实现 IAP功能( z9 O# X. x- X# h ?: l 13. STM32 Bootloader中 DFU使用限制. u5 K: g. F# j2 l" p 4 ? ^7 Q* N" S/ g2 e" y) w6 Q. \ 14. STM32L011x和STM32L021x启动模式注意事项( p' H- w1 p2 A- ?; A9 }& q 15. STM32L011&STM32F091 空片检测进行 System Bootloader 编程注意事项 16. 无法使用内置 Bootloader 的 DFU 方式进行固件升级 : \' n+ }) {! M 17. 如何使用STM32NUCLEO 板来测试串口Bootloader 8 m# v! \ P5 W; [# l9 i/ l7 u+ @7 D 18. 在STM32L011上通过I2C接口实现IAP5 y& L' \9 d: l) o$ x7 o% v 19. 在IAR中实现通过将程序在SRAM中调试的方法 , Q8 d4 o" v8 E# w 20. STM32F769AI 同时使能FMC 和QSPI 带来的引脚冲突问题 21. USB DFU IAP 例程移植的两个话题 22. STM32F769双bank启动 23. DFU加载 工具 DfuSeCommand的使用1 q8 w" d0 e9 {* H; G 24. STM32F0 使用 DFU 升级后 Leave DFU Mode 不能运行用户代码 # p4 M6 A) x0 a+ ?; z 25.STM32F767的USB工作在HOST模式下的远程唤醒问题 (2018.12月更新) # Z0 M% V5 w* j4 U& | 26.STM32 Bootloader异常复位案例(2019.4)* q3 K# n- O' ]% Y : n$ E4 }( P0 S) S 四、存储器' o3 T' b9 e1 L$ Y% P" I- a9 e 1. 对 Flash操作导致 USARTU接收丢数据 ' ]% d( g$ C' S2 n4 R, S4 M 2. 使用外部 SRAM 导致死机' A: l" U A- D0 W : m9 g+ ^# I8 ]! ~3 p6 X( a 3. SRAM 中的数据丢失 ^' m& }* c% q" A1 ` 4. 干扰环境下 Flash 数据丢失 5. 使用 CCM 导致以太网通信失败& y( u- j9 a3 |9 J7 x+ u j# D# E5 t3 Z 6. STM32F429使用外扩SDRAM运行程序的方法" @$ i9 \% g, H! K2 { 7. 使用STVP实现对STM32L1系列EEPROM预置数据( M6 D% \# P/ D4 P9 i 8. FreeRTOS RAM使用情况及优化方法 9. 在IAR 6.5下如何将数据存放至flash中 10. IAR下如何让程序在RAM中运行 11. RAM上电后初始值问题/ j" w- y, ^# }5 }4 v5 l; G 12. Stem Win 驱动移植-FLASH&PSRAM(MCP)接口驱动设计 ' ?# X s9 v6 t- h& D/ v% r 13. LwIP内存配置) \6 Z% J7 L% N# n ) z. A7 S' y& `$ Y" X& C6 [ 14. STM32F2高低温死机问题6 y) X0 l, z9 x6 ] R) {, X7 X; s4 A: Q3 ~ 15. 使用STM32F427的CCM RAM时遇到的问题 16. 利用QuadSPI外扩串行NOR Flash的实现 / b$ c/ S( G: |% _1 Z 17. STM32擦除内部FLASH时间过长导致IWDG复位 4 E. z( [6 i, O, E 18. 基于STM32CubeMX开发U盘访问应用 (2019·6·18更新): r8 w2 {) m. O/ k! M0 W' H' r2 W ' X+ \# H. Q0 _! [& {/ {! u9 H, G 五、模拟外设2 N7 ~; } A4 v {$ C- K% O3 ]) E 1. ADC对小信号的转换结果为零: T" H1 z9 T: z3 d 5 i8 c# {$ F$ N& T, C 2. ADC键盘读不准: E0 s* b- X/ |4 E 3. 扫描模式下 ADC 发生通道间串扰 E" O/ Z, c1 q3 n/ K: p- d 4. DAC无法输出0V的问题分析解决6 }' k6 M" k) Y! i - Q7 x7 v! _ V% d0 `0 A 5. DAC无法输出满量程电压的分析解决5 d0 S) D: }+ }9 s3 U9 b5 s 6. STM32F30x 的ADC 采样的傅立叶变换7 _3 F% V/ ^0 W3 P: ] $ v' L) a5 C: p2 ^ 7. STM32 F1系列 DAC的示例详解( X3 \. K4 X7 L8 l. b2 W0 ^ 8. ADC 连续模式采样浮空引脚问题 9. PWM硬件间隔触发ADC & A; J+ [. ?0 |! j& I0 N , j* l. g1 O! y 10. STM32F30x 禁止ADC 已关闭情况下再次关闭ADC # {3 Q- R' D5 \9 J: v 11. STM32L4 系列中ADC 通道配置上的区别: `- l, F8 i! U8 e* V% E6 R' { 12. STM32 ADC模拟看门狗及其应用# u+ [% q3 q1 L' S% K ( [/ Y% K! ?/ b: ~. E6 v 13. STM32L053 comp2 比较电压无效问题 s) q; A \5 j h7 L5 ~' v, J4 I . A/ Y. E( ~+ j5 h1 ^9 Z7 L/ X 14. 运算放大器OPAMP在STM32L4上的应用 15. STM32 OTA例程之ESP8266使用 " y; f+ \- r" C7 u( g" w+ C& P2 X4 }% t 16. STM32多个ADC模块同时采样转换的应用示例 (2019·7·24)6 e0 s, [8 A4 g! ?: O4 q 六、计数外设 1. Watch Dog 失效# Z2 p2 j. V: }; @- U7 x7 N( X . h+ c6 T+ D* ~2 H: q. D0 {: y 2. RTC计秒不均匀 2 F. X( `& T, D e. u. K' A! _ 3. 软件启动模式导致 IWatchDog 失效+ T; |5 m w" i+ v . t$ J2 \3 X, X6 l2 S 4. STM32F030R8 定时器移植问题8 W6 y, U, I6 \# T4 t 6 `: a4 P3 ?& p 5. STM32F0使用RTC Tamper的几个注意事项 6. STM32L053可控PWM脉冲方法之DMA6 G0 y) G6 L& |" P4 d! i2 J* M5 B 7. CounterMode,OCMode与OCPolarity关系; u! f# d. Q7 f9 j7 H : \' y- Y* r5 O' V J 8. STM32L053可控PWM脉冲方法之DMA! b7 i- Y9 D* l0 H+ K7 s9 W# b i 9 o7 |1 u. P& o. K' |/ J% ` 9. STM32F1通用定时器示例详解—TimeBase/ F( R; R& b( L/ D! G 10. STM32F1通用定时器示例详解--TIM15_ComplementarySignals4 p& K$ T( U5 g& @ ! J1 D. a `9 m# @+ T8 U 11. STM32F334 应用于LLC + SR 的高精度 Timer 波形产生% h! l/ Y2 _7 B% u0 p 7 o; p. c& k* `+ v6 H7 R 12. HRTIMER的多种Fault事件联动机制7 x g# l, |% M+ B 3 W( I" O9 W) e/ i* c 13. STM32通用定时器 示例详解 —One Pulse " l- X5 m& |0 L, J! k1 q- e" {/ e 14. 如何用LSE校准STM32F4内部RC振荡器* A$ [+ z. f5 }& M8 ?/ L* [ 15. 一种使用Timer测试HSI实际值的方法2 V' w; o- X" ^ 16. FreeRTOS定时器精度研究5 N; g/ {) [- l& e 17. HRTIMER产生多相相移信号6 Q3 V) F0 A: X' N V7 J# p ! ]8 e, S. P0 t/ |& P; E" p8 b* x 18. 窗口看门狗启动时异常复位问题 19. PWM硬件间隔触发ADC ' T" o: ^# }0 H. b 20. STM32F030低温下RTC不工作2 q) ]- X; S) v8 W0 u! T/ ^6 P : I- b" ?/ Z# W, E* @% D% z+ r 21. 教你一手 | 基于 STM32Cube 库的 Timer 捕获应用 % q% X& O. w: y- T- K : R. z+ }0 S4 O# V2 L 22.STM32F334 应用于LLC + SR 的高精度 Timer 波形产生 (2018·9·29) % I3 l6 e9 x9 J 23. 基于STM32定时器实现定制波形的示例 (2019·7·25) 24.STM32定时器触发SPI逐字收发之应用示例(2019.12.24); W% \6 c! m- Y* W- s A1 L 7 _; ?9 K+ o1 a; ~6 M/ Y 25.MC SDK 5.x 中增加位置环 (2020.3.31)0 l/ s+ c/ M1 M" ]$ X! d 26.STM32高精度定时器PWM输出话题 (2020.4.29) : e3 z- X3 y% S' A2 C1 D 2 F H/ R. G/ o! E 27. 基于高级定时器的全桥移相PWM发波方案(2020.5.12)- f* b& q6 V, W4 ?5 m' Y! B; ]; ^ 七、内核 $ v' T7 {- R) ?' [2 A8 V4 f" _ 1. 使用指针函数产生Hard Faul8 _$ y- U( @6 t, r! w& h % l; y) `% ^+ R* o( L1 Z 2. 调试器不能通过JTAG连接器件 3. 鬼魅一样的Hard Fault 8 p2 A9 V+ z: O) `, S3 W 4. 进入了已屏蔽的中断[ 5. 浮点 DSP 运算效率不高, ?2 N# e# G1 k1 y / p; `! f4 I0 j0 e 6. STM32上RTOS的中断管理 7. STM32F7与STM32F4的复位序列比较 8. STM32F30x 的ADC 采样的傅立叶变换1 ~% W6 {5 ~' `! [$ Z& O+ a 7 |* I. R7 k4 a Y# O O/ h 9. EXTI重复配置两次导致误触发中断的问题 ) c$ t6 Z) i' y 10. STM32F3xx/STM32F4xx使用浮点开方指令: M% I- w+ E. ?! B( z2 l1 k3 C5 X 8 F% z" c L' _% L: d1 y3 h5 N5 L 11. RMW(Read-Modify-Write)对 STM32F7xx内核运行速度的影响1 a# i8 a: }$ W5 Y5 Y/ u4 [ ( R5 l+ e$ v: `! Q& i, b4 @ 12. STM32F7 MPU Cache浅析 13. STM8使用24MHz外部晶振无法正常运行 (2018.3更新), g9 N6 S! j% {8 N- } }" a/ D) S4 g, i a4 k7 G 14. STM32F0 不同代码区跳转时总失败…这些操作你.. (2018.6更新) 2 X9 Z x, y) H$ G4 V 八、系统外设 1. PCB 漏电引起 LSE 停振 2. 时钟失效后CPU还会正常运行 2 i7 t* ]) r: [; A5 F 3. STM32F2中DMA的FIFO模式 4. STM32L053的GPIO翻转速度的测试/ }) t( L L; W, O - ?6 m, t# w- h" r 5. STM32F4xx PCROP应用/ n% t# Z0 c K s! M3 R. @* t $ N4 v% g6 Y0 p! h 6. STM32L053的GPIO翻转速度的测试 $ d L; P- C0 m( K 7. 如何在IAR中配置CRC参数8 n, j6 f1 m: K 8. PCROP区域函数无法被调用的问题与解决( w- J1 }' {, J6 y3 C2 A $ b( H1 W# }, _" a* ~3 { 9. 关于AN4065中STM32F0 IAP升级后的外部中断不响应问题 $ z: A+ k, e) Q1 w 10. Stem Win 驱动移植-FLASH&PSRAM(MCP)接口驱动设计# Q# M9 P- W* X$ D2 h! w; J # U) y. d8 `% j( e7 L; Z+ C" z' t% m 11. 如何用LSE校准STM32F4内部RC振荡器& V3 P$ Y2 X/ u 12. EXTI重复配置两次导致误触发中断的问题 13. 时钟安全系统的应用(LES篇) 3 V/ ~% c R8 D+ D& T 0 C$ N, X2 q. B. C" U 14. 利用DFSDM开发PDM麦克风应用介绍 ; O& ^+ e8 j( I 15. STM32H7的FMC外设在DCACHE使能时运行不正常 ( @& M) M- i. ^ 16. STM32H7 DMA 传输异常案例分析 (2019·3·19更新)8 p. J. J& i; F4 d+ l 九、标签和收发器 1. CR95HF的初始化步骤 ! I* K! B, \1 q# f- H& W( ]8 B ) |* e( ]' ~$ H 十、生态系统 ) _7 T& C/ T) |- a+ L 1. STemWin_Library_V1.1.1中STM324x9I-EVAL的RTOS工程显示不正常问题! {9 f, k2 c8 B6 y% F9 z# X 0 z7 H" N# e! @) \" B 2. MDK Logic Analyzer 功能在STM32中的实现问题: V+ V) {) @3 `+ c6 m* v' z' s2 d 3. 在IAR6.5下如何将数据存放至flast中0 U" F8 n$ G1 c% z4 S2 O ; _/ b! o* i) a. R6 }$ x; t 4. FatSL移植笔记 ; E& `! Z5 R' A0 t! s 5. Keil中使用STM32F4xx硬件浮点单元 ( T- n" y+ Q1 H2 `2 S 6. 如何生成库文件(MDK和IAR) ! }3 r: I! n4 X! [* d/ I- P/ f 7. Nand Flash文件系统解决方案 . R. s1 T P+ c# } 8. STVD在调试时弹出“Cannot access configuration database”的解决 9. RTOS低功耗特性的设计原理和实现 , |/ S) ]! t+ g' [, x) s 10. IAR下使用J-Trace进行指令跟踪$ D( M8 H5 U! N$ [! J- K, M # ~; e- I" _$ I; @" B1 A) ]" A 11. STM32上RTOS的中断管理 12. IAR下如何让程序在RAM中运行- x! ~' O3 j4 {* ` 13. 如何在IAR中配置CRC参数 14. 基于STM32F411 Nucleo板的Broadcom Wi-Fi开发套件的快速开始手册 15. 使用mbed进行STM32开发及STM32F0的时钟问题 16. 使用STM32CubeMX实现USB虚拟串口的环回测试功能: s! R: A" \$ M( [/ O * ~) [: U" r0 x, E v; d 17. 多任务系统中的不可重函数使用注意事项 18. STM32 utility的hot plug功能 : ]- ~: r" w/ m$ _7 G 19. 如何将CoreMark程序移植到STM32上* {3 Y7 F* T1 o+ o3 S & W! v E& S8 G2 T) b- x! ^ 20. FreeRTOS定时器精度研究 : T O: ?% J: P, G$ s 21. 如何使用Eclipse和GCC搭建STM32环境 & _' q( D$ Q! h. E- Y6 A 22. 如何建立一个基于GIT的STM32库7 U7 t' `/ I: d' Q& s% @# n 23. 从零开始使用CubeMX创建以太网工程 24.从STM32Cube库向标准外设库移植FatFs文件系统: g0 B5 i9 p2 P: T$ h5 O 9 W1 q5 l) n* H. S: e" L2 } 25. 基于 STemWin的屏幕旋转2 y* T% G# D+ l3 G/ ~ 26. 编译软件 Hex文件烧写 27. 使用B-L475E-IOT01A探索套件连接AWS IOT平台 ) y+ x) x; v3 I U4 X 28. USB CDC类入门培训* h: S+ s( X' W : q# Y/ d/ y& g' P 29. USB DFU培训 % s: L; t' [4 C! g' {" p 30. 用于量产烧录的拼接Bin文件操作 31. STM32免费开发环境该用谁 . H# b" i6 _/ T4 p& @0 `6 ]7 b 32. 免费全功能STM32_TrueSTUDIO_9.0 (2018.3更新). z- g3 Z/ S3 C, o4 C( e4 a 33. 基于STM32L4 IoT探索套件开发AliOS Things (2018.5更新) ( a; X5 c$ |* F6 n S 34. TrueSTUDIO出现 Program “gcc” not found in PATH的解决 2 t7 [7 Y. B1 u3 H9 l! ?$ n ! E, _/ z; \% F' f) U 35. STM32 FOTA 例程之 cJSON使用 , y8 j* g; q4 } 36. STM32F769DK 云端固件升级例程使用说明 37. STM32 FOTA 例程之 Paho MQTTClient embeddedC 使用 0 d! t/ F5 M8 z- o , [( Q* }& [$ ^# g+ P 38. 基于 STM32 的阿里云物联网平台方案 3 @! |3 V5 o' C+ c6 z 39.AliOS 任务上下文切换原理分析 5 }( @8 _0 r* q7 C% J8 R+ W 6 t; w; ~% y9 _! h& q, R ~' b 40.STM32F334 上的 ADC 管脚和 DAC 管脚 复用问题 41. STM32F769DK 云端固件升级例程软件开发文档 / H3 c& {* g7 |& Y: v: A$ n 42. STM32CubeL4 固件库V1.13.0版的RTC唤醒问题 (2019·6·18更新); z! F6 a& G, x4 m8 c% A J 43.使用USB虚拟网线(USB Ethernet gadget)直连STM32MP1和Windows PC(2019.9.19)# Z! j6 F$ {0 G( W2 G 44.零基础快速入手STM32MP1 (2019.9.19) $ n6 c2 t$ ^" _% }( x, @ 45.STM32L1xx与 STM32L1xx_A的差别 (2020.4.29)2 I$ |) K' P* @. a. Q: W : g. A6 R- t' O+ Q& u- ?1 R 十一、调试( R% Q5 G& \3 x4 |- [ ' M% D1 d1 s8 _ 1. 关于STM8S SWIM Error[30006]的分析 ' \9 z) [! Z8 e4 n+ d: A 2. STVD在调试时弹出“Cannot access configuration database”的解决/ A2 E n2 f! Y4 j 3. IAR下使用J-Trace进行指令跟踪 5 F% K6 i0 u) ^; U! ?+ I9 G 4. 菊花链 JTAG STM32* K* w4 \- w( r9 d- i 5. STM32F411CEUx 能下载程序但不能执行3 C! l, F( q7 j3 i8 X% Y8 ~ 6. STM32F103C8T6 程序上电跑飞 7 {# O" n7 C. K9 S: \1 B 7. 使用STM32 ST-LINK Utility 设置读保护后不能运行/ k7 g1 R1 T+ f I 8. VBUS引脚一段时间后管脚无法正常工作的分析和解决方法 3 |& N& m6 w' r, ]+ M2 Z 9. SWIM协议的GPIO口模拟+ l7 F; R% j& ^; `( b 6 t! G. i# O: v' _6 B% Q5 }; Q 10. STM32F091空片使用ST-LINK烧写后复位不能运行用& i5 o# Q5 ]3 B6 ?; y4 d1 G 11. STM32L011对空片进行编程后程序运行问题 (2019·9·12更新) " U) y+ [. F* [2 D4 q$ Z5 s. j 12.如何在IAR和KEIL中计算CRC值 (2019.1.2.24) 0 a% T4 h; t a3 ~; ~7 w% d1 P 13. X_Cube_ClassB代码移植 (2019.12.24) $ I6 m, a7 R k- H1 l 14.Keil中烧写STM32F750内部Flash方法 (2019.12.24)# g4 z* c* a8 e( I4 l / Y5 o2 k: \: l: Y6 b5 a3 L- m 十二、人机调试 1. 一步步使用STemWin在STM32上开发一个简单的应用3 y1 W% S O; i8 }5 G% o, \+ E; V 2. Stem Win 驱动移植-FLASH&PSRAM(MCP)接口驱动设计8 W( o6 Y* L5 c 3. GUI方案中ALPHA通道处理介绍) ?& D$ G( n. T4 O% F* j5 s' f ; C7 R5 |3 Q( e) b 4. 基于FMC8080接口8位LCD的STemWin的移植. r0 h0 p4 B, _8 D ! A; S. h ?+ d3 F 5. TouchGFX中Callback模板实现原理 (2019·9·12更新)+ F; O" D" }' @7 @5 C6 R 6. TouchGFX快速创建滑动应用例程 (2019·9·12更新). g* U# t! {0 C( t ]7 v/ ^- l 4 g/ b+ K) Q' H 7、TouchGFX 简单界面设计_按键控制光圈移动(2020.2.27)6 O# Q) n5 y3 g: @0 N, L 8、STM32L5中如何关闭trustzone (2020.5.12) 7 J' ?! ^& T( ? 十三、马达 3 u9 A5 I# l) g& {/ J 1. 电机控制同步电角度测试说明& q) Y* U, [. b& a" N \ 2 e" \ k0 M- K' @- O N9 P% E " q9 s1 Z! W; ^2 W 十四、安全 0 L, |& B9 p9 _, l& ~+ K 1. 一步一步使用STM32安全启动与固件更新(2018.3更新) 十五、其他% |! q [' V$ ^4 b' l5 V + _$ n1 \* T+ {4 c( {6 N 1. 跳不出的 while 循环 & @! |1 o# R# A! ^ 2. 外部IC连接NRST导致MCU内部复位信号失效的问题 3. 潮湿环境下不工作 4. PCB 漏电引起 LSE 停振 5. STM8L152 IDD电流测量 6. 使用STM32实现锂电池充电器4 ?5 l$ ?( h3 ? 2 q8 g; A. i+ w 7. STM32_STM8硬件平台基本检查5 |9 b. l. n5 f! r: Q, t 8. 验证STM32F401在STOP模式下的电流 " S2 a, A. V8 H" U 9. P-NUCLEO-IHM001 电机开发板串口调试指南& G( ~& n, t% e7 |' P; t 10. 一种计算CPU使用率的方法及其实现原理 2 }0 l4 }0 _9 n5 V' \/ t 11. STM32 RTC不更新原因分析1 A1 H- a; o2 ^% z9 V " t/ Z5 V+ b. Q) k4 U, ] 12. 关于ST库函数的代码性能对比6 Y3 U- M2 u0 ~ 5 k3 D/ g4 `$ Z* z/ G: h- b! \) I 13. 在IAR中实现通过将程序在SRAM中调试的方法 9 P1 P# T. d) Z; z 14. M95xxx EEPROM写保护配置/ g H3 |8 o; s% _0 x/ a ; a& a. x0 T, r 15. 4SRxx的GPO的属性 I8 n' ], ~3 A" }! ]% C 4 r* z& h; f9 w4 R0 w6 [ 16. CR95HF的初始化步骤 * O- p4 r* e: s+ l: F: i( N) p 17. 电机控制同步电角度测试说明 18. STM32+BLE通过 Notification与 Android应用程序通信的例程 19. M95xxx EEPROM介绍 20. STM32 DFSDM测量温度应用 7 P9 F/ ?7 f9 Q$ O- ~: R. c 21.代码实现PCROP清除3 i# J( p P9 ^5 m # w& o* p/ T5 M0 H8 g. U 22. 理解与应用MPU的特权与用户模式. k' w" |1 W) X, ]0 y! z! O 7 T7 y2 W S, b: } 23. 用于电机控制单电阻采样PWM变形信号产生. A# [8 a# A1 Q& K0 F; M 7 C4 O) {" {" t. b P5 a- ?5 W 24. STM32L低功耗模式唤醒时间测量 # I0 l: W( M9 H% j; N& p 25. X_CUBE_SPN7程序电机启动抖动问题" R$ U& G9 q9 k2 e$ d' }; K+ Q 26. 发现STM32防火墙的安全配置 + W, s8 R( H2 E' w 27. ST FOC4.3库关于STM32F30x系列ICS采样代码的修改 8 G& `2 i. Q' w 28. 如何用STVP 命令行模式对STM8进行批量烧写(2019·9·12更新)0 Y* u" R) q* Z1 ]$ H$ \ 7 [0 k9 p$ f$ I3 |4 d" W 温馨提示: + u$ Z! t# S1 b w如果您在使用ST产品过程中出现问题,欢迎在社区发新帖提问。版主和工程师网友会热心帮助您。 4 f+ L; p, a! V% I' F0 c; M' z【社区导航】STMCU产品购买、技术支持、意见咨询指南 9 H% z* ^& j# a4 i! c) j0 h! s0 V* P6 ?1 i" E ]0 u: _3 J. v5 f+ @ ) m/ l+ K; P9 L1 E1 s# g# b. H) V ( W( x$ j0 B& G2 \2 j# J' X2 ] 9 w) K' W( v3 R) n |
有个问题纠结很久了。使用的STM32F205RE MCU SPI2 进行DMA 传输,数据量大的时候接收的数据会乱,直接将MISO 和 MOSI 短接测试的,代码如下:3 p' {! ^8 U/ |2 r6 h9 ^$ h
期望接收到的全部为0x55 ,实际出来的是前面数据正常,后面的数据就乱了。
回复:【ST MCU实战经验】栏目开通!官方解答应用问题,欢迎下载!
以下是全部代码:
#include"stm32F4xx.h"$ K/ \- I9 ^% K& v% h; [
void RCC_Configuration(void);
void GPIO_Configuration(void);- C, d" v3 [2 f( h
void SPI_Configuration(void);; r3 B1 J; K/ q
void Delay(int nCount);
int main(void)/ g/ m$ ]: Y: }5 j2 F
{ RCC_Configuration();
GPIO_Configuration();
SPI_Configuration();
while(1)5 a+ C/ ^& E8 k' s6 T1 u5 O. m
{ int data=0;& D- [/ W. |5 Y& r% d
SPI_SendData(SPI1,0x55);
while(SPI_GetFlagStatus(SPI2,SPI_FLAG_RXNE)==RESET); 6 q X ^. ?$ F
data=SPI_ReceiveData(SPI2);" z0 g2 A2 j# i$ T* R
if(data==0x55)
{ while(1)" q( H* F& D5 t$ h4 b
{ GPIO_SetBits(GPIOA,GPIO_Pin_4);
Delay(0xfffff);
GPIO_ResetBits(GPIOA,GPIO_Pin_4);
Delay(0xfffff);& ^6 m8 @/ s& q4 y/ U- Y. b T* |
* z5 T, @. D4 i
};
}
else while(1)
{ GPIO_SetBits(GPIOA,GPIO_Pin_4);
//Delay(0xfffff);0 ?2 J) O8 I4 `4 t! t P8 d3 A- U
//GPIO_ResetBits(GPIOA,GPIO_Pin_5);( g5 a0 x5 U: Z5 ~
//Delay(0xfffff);# z/ H/ P1 i# r2 X: t: |1 V
4 l$ Z- F# o7 G) s/ L
};0 d: }( G1 `( p# X. h
}. Q' ~( i6 h0 b: G: U6 t$ t
}8 E3 {* s L# E' J
void RCC_Configuration()8 a9 F: c7 j1 E) \0 t
{ RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1, ENABLE);3 _+ P0 o( S( z g% r. j
RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI2, ENABLE);5 q& w9 B: j: U2 g
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA|RCC_AHB1Periph_GPIOB, ENABLE); $ W1 A9 r5 P1 H
}* [$ Z& l4 M* M% s3 x0 V/ |/ n
void GPIO_Configuration()7 }: B* F* e5 [/ x3 I& q8 R& v
{ GPIO_InitTypeDef GPIO_InitStructure;% ]5 z; F$ |8 n. _5 _5 }# l
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_4;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_100MHz;
GPIO_InitStructure.GPIO_OType=GPIO_OType_PP;; o. s5 o- {+ H
GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP;. ^5 ?1 g7 z1 F% ?7 _
GPIO_Init(GPIOA,&GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF;) ^) p+ {0 J: q3 i5 d
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;7 l; j- W9 Y+ C4 e5 x, t$ \; `
GPIO_InitStructure.GPIO_OType=GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_NOPULL;4 u7 s z7 m+ G/ i# B# Y, ]
GPIO_Init(GPIOA,&GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;6 ^) ?5 [/ a$ K/ j, L! C# z
GPIO_Init(GPIOB,&GPIO_InitStructure);# _$ ?2 Q; @/ r' c: o9 w( V; ? G' ]
}# d; F5 ]+ D/ r, ]
void SPI_Configuration()
{ SPI_InitTypeDef SPI_InitStructure;
GPIO_PinAFConfig(GPIOA, GPIO_PinSource5, GPIO_AF_SPI1);
GPIO_PinAFConfig(GPIOA, GPIO_PinSource6, GPIO_AF_SPI1);; B" T5 {# V7 R. k
GPIO_PinAFConfig(GPIOA, GPIO_PinSource7, GPIO_AF_SPI1);
GPIO_PinAFConfig(GPIOB, GPIO_PinSource13, GPIO_AF_SPI2);
GPIO_PinAFConfig(GPIOB, GPIO_PinSource14, GPIO_AF_SPI2);1 u1 q( d" k6 D0 p) n1 ?
GPIO_PinAFConfig(GPIOB, GPIO_PinSource15, GPIO_AF_SPI2);) r( K2 @9 G+ @; s8 s
SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;
SPI_InitStructure.SPI_Mode = SPI_Mode_Master;: ~8 K1 p& t' `) U/ P# O
SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;) v- R$ o( A. S$ l2 x
SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;
SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;
SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;0 Y7 r7 F+ T4 a0 V& ]+ w
SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_2;
SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_LSB;
SPI_Init(SPI1, &SPI_InitStructure);
SPI_InitStructure.SPI_Mode = SPI_Mode_Slave;
SPI_Init(SPI2, &SPI_InitStructure);
SPI_Cmd(SPI1,ENABLE);
SPI_Cmd(SPI2,ENABLE);
}
void Delay(int nCount)0 Y6 u4 g0 a$ u) S( _1 Q
{ int c1=nCount;( @. U* _) N @) Y; @- w, _; r
int c2=nCount;( S8 m( y7 r4 n9 F
for(;c1>0;c1--)
{9 F# B8 O L! n. J2 Q! I# v C
for(;c2>0;c2--);
};
} L# D3 R+ c/ \
先谢谢了~~
回复:【ST MCU实战经验】栏目开通!应用问题,官方解答,欢迎下载!
楼主,我想问一下,STM32F4 SPI1和SPI2自通信问题,SPI1为主模式,SPI2为从模式,可是我在设置波特率时,必须按二分频,SPI2才收得到SPI1发来的数据,如果设置为其他分频情况,将卡在while(SPI_GetFlagStatus(SPI2,SPI_FLAG_RXNE)==RESET); 这句上,还有就是SPI1和SPI2的波特率是不是必须为相同的,才能正确通信/ ?/ Z$ d) `$ L2 j7 C
以下是全部代码:
#include"stm32F4xx.h"/ \7 R7 P$ K/ Z, o
void RCC_Configuration(void);* ^0 p5 n/ e+ A# n, n8 ^0 G
void GPIO_Configuration(void);
void SPI_Configuration(void);
void Delay(int nCount);& L% J6 {! L* d, {; { G
int main(void)2 V/ ^2 v7 V7 X# g0 i0 ~
{ RCC_Configuration();
GPIO_Configuration();, E5 A% Y4 \% Y2 _6 G
SPI_Configuration();) ^: g0 I8 h' `4 W, W# G
while(1)6 |( B( t7 Z$ j0 Q9 J7 s' T
{ int data=0;0 `) W5 p1 t& T( I
SPI_SendData(SPI1,0x55);
while(SPI_GetFlagStatus(SPI2,SPI_FLAG_RXNE)==RESET);
data=SPI_ReceiveData(SPI2);$ U" a; V9 B+ p% y8 |' x8 D
if(data==0x55)( m& }5 X" `2 e! P- [+ k- O- {0 E5 e
{ while(1)
{ GPIO_SetBits(GPIOA,GPIO_Pin_4);
Delay(0xfffff);/ B8 W6 u3 u6 U5 R$ j& `) v
GPIO_ResetBits(GPIOA,GPIO_Pin_4);, b4 T6 M, l. P t. ~+ c
Delay(0xfffff);7 n/ ]! T: K4 s6 M8 m
: @8 j: M4 K; f6 d. _( F
};
}
else while(1)
{ GPIO_SetBits(GPIOA,GPIO_Pin_4);
//Delay(0xfffff);
//GPIO_ResetBits(GPIOA,GPIO_Pin_5);
//Delay(0xfffff);
};
}' _2 A- O( l; u! k1 b
}' J" s5 D( c/ z) [ f" ^' W0 J
void RCC_Configuration()7 b7 K" `* b ?" A, `1 n5 g
{ RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1, ENABLE);9 ]9 \5 e4 C. A+ x/ a, U
RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI2, ENABLE);
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA|RCC_AHB1Periph_GPIOB, ENABLE); 6 \( T- s9 [% L6 V
}
void GPIO_Configuration(): X4 e) Z9 O( h
{ GPIO_InitTypeDef GPIO_InitStructure;% z1 t% t8 G9 o( `% E
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_4;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_OUT;& r. Q7 _3 j0 M1 X
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_100MHz;
GPIO_InitStructure.GPIO_OType=GPIO_OType_PP;; F9 k8 O* \7 P2 `( M* o
GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP;2 U9 L9 T5 `& h: [' B
GPIO_Init(GPIOA,&GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;! m- s- s. N' I" r* k
GPIO_InitStructure.GPIO_OType=GPIO_OType_PP;$ X C& v% r9 Z' T3 Q$ A! T
GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_NOPULL;: c9 W3 b" L1 r1 J, V! f3 f
GPIO_Init(GPIOA,&GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;5 C0 H4 _; H0 ]4 x' t
GPIO_Init(GPIOB,&GPIO_InitStructure);
}
void SPI_Configuration()
{ SPI_InitTypeDef SPI_InitStructure;
GPIO_PinAFConfig(GPIOA, GPIO_PinSource5, GPIO_AF_SPI1);
GPIO_PinAFConfig(GPIOA, GPIO_PinSource6, GPIO_AF_SPI1);
GPIO_PinAFConfig(GPIOA, GPIO_PinSource7, GPIO_AF_SPI1);0 @* l9 q' c! `3 W1 C
GPIO_PinAFConfig(GPIOB, GPIO_PinSource13, GPIO_AF_SPI2);3 R r* Y3 g& ~0 z7 K
GPIO_PinAFConfig(GPIOB, GPIO_PinSource14, GPIO_AF_SPI2);
GPIO_PinAFConfig(GPIOB, GPIO_PinSource15, GPIO_AF_SPI2);
SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;5 s) U0 z# ]% B
SPI_InitStructure.SPI_Mode = SPI_Mode_Master;
SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;$ \" K C, p3 C) b$ D- G
SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;3 x; q% Q& Y: d; b
SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;' N: v4 z, H* @1 P% {! Y
SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;
SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_2;, L& M- h6 e1 {; w( Q3 V# S
SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_LSB;
SPI_Init(SPI1, &SPI_InitStructure);# ~& z. h: G% x
SPI_InitStructure.SPI_Mode = SPI_Mode_Slave;: N8 }! h- a, Y0 U% c" c, m& i
SPI_Init(SPI2, &SPI_InitStructure);) m" G( c! m5 Z2 y# q
SPI_Cmd(SPI1,ENABLE);2 [0 h1 O. N# Y9 Z; p& w; c& L
SPI_Cmd(SPI2,ENABLE);
}& x" _, s8 K" m
void Delay(int nCount)* G$ i1 R$ u" C8 O
{ int c1=nCount;
int c2=nCount;
for(;c1>0;c1--)3 t: ?+ `) G8 A$ @0 _3 H
{+ y* `8 J, E: k6 Z1 l6 |
for(;c2>0;c2--);
};2 ^* e, W N+ Q0 W& S: c3 P
}- l4 o9 n# F) p$ e
先谢谢了~~
( U' y4 M# a3 X. ]! J$ \+ q
楼上的问题,看我帖子给出的提示哦~
RE:【ST MCU实战经验】栏目开通!应用问题,官方解答,欢迎下载!
回复:【ST MCU实战经验】栏目开通!应用问题,官方解答,欢迎下载!
回复:【ST MCU实战经验】栏目开通!应用问题,官方解答,欢迎下载!
多谢,真好的板块,学嵌入式的好地方啊,来对了,哈哈。( I" \. E; o& U1 q. [. K' F
多谢支持!!
RE:【ST MCU实战经验】栏目开通!应用问题,官方解答,欢迎下载!
RE:【ST工程师 MCU实战经验30篇】之USB接口易损坏
回复:【ST工程师 MCU实战经验30篇】之USB接口易损坏
回复:【ST工程师 MCU实战经验30篇】之USB接口易损坏
RE:【ST工程师 MCU实战经验30篇】之鬼魅一样的Hard Fault
RE:【ST工程师 MCU实战经验50篇】之鬼魅一样的Hard Fault
回复:【ST工程师 MCU实战经验50篇】之浮点 DSP 运算效率不高
鬼魅一样的Hard Fault% ^" l/ g- e6 W! G
该问题由某客户提出,发生在 STM32F101C8T6 器件上。据其工程师讲述:其某型号产品的设计中用到了 STM32F101C8T6 器件。在软件调试过程中,遇到了一个棘手的问题:程序会莫名其妙的跳到 Hard Fault 中断。在程序中,产生该中断的位置不固定,忽而在这里,忽而在那里。发生的时间不确定,有时候程序运了很长时间才遇到,有时候开始运行后没一会就发生了。产生该问题的原因不明,不知如何进行排查。
0 X! u" ?% { }. w
咋解决?
RE:【ST工程师 MCU实战经验50篇】之浮点 DSP 运算效率不高
RE:【ST工程师 MCU实战经验50篇】之浮点 DSP 运算效率不高