你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

我的ST:实例项目总结

[复制链接]
qiangtech 发布时间:2019-11-29 10:13
最近完成了一个F030项目的试产,回想整个过程,深刻感觉到实际开发项目与开发板开发的不同。也发现了一些疑惑,希望能有高手能指教方法.7 ^: [; _( W9 j- y5 r/ r- @2 }
1.项目开始时,也是做了一些规划的。把不同的功能模块单独做成一个文件,并且有各自的头文件。但是越往后做,发现跨文件的变量也越多。于是好多
! G4 a6 a6 ~% F2 CEXTERN 出现了。虽然能行,但是感觉非常杂乱,不好控制,有时为了查一个变量就需要看好几个文件。- ]8 }" y, F1 W) y8 K- b
2.逻辑错误的问题,前后逻辑不一致,甚至是一个笔误也会形成一个逻辑错误问题。几乎用了写代码一倍的时间重读推敲逻辑,也花了相当的时间实际运行测试,还是不能保证全部找出了问题。
) o. z9 v# t1 G7 g- m6 ]( V8 N! g2 j3.关于程序流程图,没看到人展示过这个,所以也不知道别人做的能精细到什么程度。感觉做得太粗略就没什么作用,精细一点又做不来。大家可以教我。
) u8 Y( i8 ]& c& W+ g% `5 C- ]" y
/ N+ d9 k+ y9 @! q以上,大家可以讨论指点。
" B# H& v" z% Z  {( ]
3 收藏 评论5 发布时间:2019-11-29 10:13

举报

5个回答
网络孤客 回答时间:2019-11-29 11:45:00
我也是菜鸟' [2 U" p8 X; m8 R- j- R
对于问题1  P) p* a. [, a
我的解决方法是:封装一些函数,用来传递或处理这些数据,减少跨文件的变量。  O$ ?  Y8 s! Y- P! |
如:* q7 x) H0 k8 G0 Z. h, B
A变量在甲文件中,乙文件需要设置它的值9 v* e4 a  a* T4 r; g+ m. w0 _) {/ g
我会:
6 C, C9 Q/ [0 ?void changeA(uint8_t value)  O3 D* M7 K1 W! _! G
{0 v+ q, p# _. }8 i0 x
   A = value;8 w6 E, V1 c2 t6 u  E8 K
}+ `  M/ ~; G  z3 \6 p% ]
- L1 c+ V" r8 m) i4 {
数据传输也一样,甚至可以用指针
& S& I; }" n( Q: e2 A5 Z1 cuint8_t getA(void)# R; E' \& G/ I# Y9 g
{) S  f$ I0 b1 Q( ]8 p
   return A;1 \' ]2 `* g$ {7 ~5 B
}
% D; `  [2 S+ F. a/ B0 i
3 n# N$ F$ U  H/ ?3 W$ i& y问题2,共同情况,debug比编程时间还长。我只能分多个部分验证。
2 e2 [/ J( _2 P) o编写的时候,会考虑更多以后重用方便问题。
3 `9 }) j5 h8 h" k3 v7 w4 x5 x9 X" w. |# v: a! X  o- Q
问题3,我只是大概画个大概流程(功能块),用于理顺思路,甚至只用思维导图。毕竟单片机不算太复杂。
6 Z4 T/ t9 Z- c, I+ B
, a- ~4 _8 _6 z+ S5 j# r4 _如果觉得回答还可以,请支持“我的ST”,谢谢。
0 v$ {# `# U( C: R0 s  ~
奏奏奏 回答时间:2019-11-29 11:54:20
我用最笨的方法,全部代码都放在 main.c 文件里面
qiangtech 回答时间:2019-11-29 14:01:35
ldptest 发表于 2019-11-29 11:45, W+ k& z5 P8 t, a. @# z
我也是菜鸟& H: @; s+ k5 F& q. t4 d
对于问题11 z( i  s$ r- O, B8 d
我的解决方法是:封装一些函数,用来传递或处理这些数据,减少跨文件的变量。

5 q- ]( M. n) R8 i0 L8 r嗯,你的办法是可以,就是有点消耗资源。支持你。
网络孤客 回答时间:2019-11-29 17:37:40
qiangtech 发表于 2019-11-29 14:01
4 W* l& |+ t0 S: B嗯,你的办法是可以,就是有点消耗资源。支持你。
) Z6 E* ~. k7 n  i. w: {2 X
谢了!' v' N$ n/ z* x; ?/ Z' L
有时候标准化会减少很多编程上的差错。
, H& y) V3 v7 P# H3 r  N0 q不差这点资源,如果实在太紧张,就逐步改。
老牛洋车 回答时间:2019-12-19 18:11:29
支持楼主,也希望得到楼主的支持:
" V8 @3 d* V3 G6 zhttps://www.stmcu.org.cn/module/forum/thread-622444-1-2.html7 X& p/ J" ~- Q  ^& v

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版