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