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