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