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