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

我的ST:实例项目总结

[复制链接]
qiangtech 发布时间:2019-11-29 10:13
最近完成了一个F030项目的试产,回想整个过程,深刻感觉到实际开发项目与开发板开发的不同。也发现了一些疑惑,希望能有高手能指教方法.
. M3 g( B9 y: A" K( x4 |1.项目开始时,也是做了一些规划的。把不同的功能模块单独做成一个文件,并且有各自的头文件。但是越往后做,发现跨文件的变量也越多。于是好多
* r5 c4 ?% t% g( yEXTERN 出现了。虽然能行,但是感觉非常杂乱,不好控制,有时为了查一个变量就需要看好几个文件。( B& _! p" E! x7 S; M
2.逻辑错误的问题,前后逻辑不一致,甚至是一个笔误也会形成一个逻辑错误问题。几乎用了写代码一倍的时间重读推敲逻辑,也花了相当的时间实际运行测试,还是不能保证全部找出了问题。
4 H8 ~, p6 R; [3.关于程序流程图,没看到人展示过这个,所以也不知道别人做的能精细到什么程度。感觉做得太粗略就没什么作用,精细一点又做不来。大家可以教我。" D2 l8 n( P3 r! L! H" x9 E+ `4 a, q

: ~& \: P; _: A" p9 K( n以上,大家可以讨论指点。
% Y7 q1 @1 s: l, ~. y
3 收藏 评论5 发布时间:2019-11-29 10:13

举报

5个回答
网络孤客 回答时间:2019-11-29 11:45:00
我也是菜鸟# t6 C8 D' P% V6 F; l8 |1 E# S/ l
对于问题1' t& e0 T$ T  y! F, Y* k
我的解决方法是:封装一些函数,用来传递或处理这些数据,减少跨文件的变量。4 ~3 H; r9 W8 z- f0 A: D+ l+ s
如:
$ z" N2 ^/ R: sA变量在甲文件中,乙文件需要设置它的值
& [2 m% G+ N% ~$ j我会:6 k/ i( I5 }9 @: i, X6 L
void changeA(uint8_t value)# @. P% b9 E$ z/ M: l# y
{
+ j  i/ j+ D, u( z0 ?   A = value;- x% z2 Z8 s" h6 S- ~
}
1 B" t% ?+ M' n4 Q  v/ k3 {6 @) U* d6 j' ]8 d
数据传输也一样,甚至可以用指针  r  u( g0 U( o( x# U
uint8_t getA(void)1 x8 d- I2 V; |5 P- h
{
. T0 c$ H) w% p8 T   return A;8 ]1 W: b9 G/ b0 w6 Z
}
6 V% l9 d- o% Z6 i, M' \9 C) K2 o6 H6 N2 e
问题2,共同情况,debug比编程时间还长。我只能分多个部分验证。7 L. V, R/ I( i) R- K
编写的时候,会考虑更多以后重用方便问题。( C, \- g* G1 v6 G" U' B

+ o# _5 D+ o% ~& A& y. F问题3,我只是大概画个大概流程(功能块),用于理顺思路,甚至只用思维导图。毕竟单片机不算太复杂。
# o3 O1 y& {- H' L. K6 X7 j6 w, T( R9 z3 J* d5 j
如果觉得回答还可以,请支持“我的ST”,谢谢。
5 V+ t/ D9 V, F$ h7 o- _! \$ N
奏奏奏 回答时间:2019-11-29 11:54:20
我用最笨的方法,全部代码都放在 main.c 文件里面
qiangtech 回答时间:2019-11-29 14:01:35
ldptest 发表于 2019-11-29 11:45" P, [" f4 x8 e- B1 a7 f# Z
我也是菜鸟
' l4 f# g/ j+ T# d8 _, s对于问题1( N; Q( U) j6 h/ c5 Q! H" k: Q
我的解决方法是:封装一些函数,用来传递或处理这些数据,减少跨文件的变量。
$ x0 |- n( E1 Y# Z- r
嗯,你的办法是可以,就是有点消耗资源。支持你。
网络孤客 回答时间:2019-11-29 17:37:40
qiangtech 发表于 2019-11-29 14:01
  |5 T# c. K7 D+ w- v8 H' y4 C9 U嗯,你的办法是可以,就是有点消耗资源。支持你。

/ P- g- a0 x. K$ }' c9 G谢了!
4 e: @$ i5 i& ~% u4 o. X% u有时候标准化会减少很多编程上的差错。' q( v$ T6 v3 x4 U  o) s& Y
不差这点资源,如果实在太紧张,就逐步改。
老牛洋车 回答时间:2019-12-19 18:11:29
支持楼主,也希望得到楼主的支持:! I, w+ x6 v% p
https://www.stmcu.org.cn/module/forum/thread-622444-1-2.html
7 d+ O: B1 Y' ~

所属标签

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