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

[自设制作STM32F103RB实验板测试]实验五、测试显示和状态机

[复制链接]
zhjb1 发布时间:2018-4-22 10:08
听题目确实很简单,实际上是这样的状况:
9 x5 {, |4 H( H" Q. i* p自制的开发板,尽量多用,因此开启了如下功能:# I; R1 U: W, e' K4 k# t7 D; B
4个板载RGB的LED轮显、4路ADC采样[LCD显示]、2路PWM大小变脉宽[LCD显示]、2路脉冲输出[LCD不显示]、5路检测脉冲输入都为中断方式[LCD显示]、1路UART串口输出、开启了系统时钟sysTick和timer、1路程序计数器[LCD显示];
) d* P; c9 }" A4 {5 i' B4 v实际上是这样设计的:1路脉冲输出由sysTick控制,10mS一个10uS的正脉冲;1路脉冲输出宽度由主程序控制,触发超声测距模块开始,结果显示在LCD上;所有检测数据都输出到LCD和串口上;由主程序的程序计数器计数来顺序显示和触发超声波测距模块。
5 {: x( s' X9 |5 Z结果出现问题了:在超出超声模块测距范围时,显示是一种状况;当测距不断变化时测距,显示又是另外一种情况;并且超声测距也不稳定了。于是想到了采用状态机的方案,基本原理:" e/ r+ d% o) A- z3 H, r! m5 F, z# p
利用sysTick的10mS脉冲计数,由主程序判断,每10个脉冲为一个触发周期控制超声传感器测距一次和显示一次;其余时间是程序计数器累加和串口输出打印。结果再也没有任何不正常的问题出现了。
8 {% F% X3 b  h9 a6 d$ Y% k此实验只是解决了显示和多外部中断控制之间的冲突造成的检测不准与显示变化的矛盾问题。实际上,许多RTC系统都采用状态机的工作机制。* T  B% {7 Y* q
具体思路已经描述的较为清楚了。在各自设计的系统中如何设计系统统一时钟,状态机的状态标志的改变从而引发程序的跳转,以及各种中断防止互相影响是很有意思的,也很值得一玩。以前也讨论过状态机的问题,在那个网站,采用的什么芯片早就忘了。" _/ o. x' v/ o' t
此实验的代码就不给了,因为是基于ARMMbed的,太简单了。
) k# e! S8 Z  M9 R7 O
赞 收藏 评论0 发布时间:2018-4-22 10:08

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版