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