永发信息网

用c语言开发stm32和开发其他东西感觉不太一样吧

答案:2  悬赏:50  手机版
解决时间 2021-02-20 06:07
在stm32中关于c方面的技术应该不是很强吗,更多的是注重功能的实现吧,作为一个没开发过大产品的小白,该怎么做可以很方便的开发相对复杂的东西,怎么样可以调理清晰,是不是实现之前就要有一个完整的框架,这方面该怎么提升
最佳答案
首先得要看你做的东西有多复杂,所写的代码能有多大。
“人有多大力就办多大事”,STM32的功能远比51、AVR之类的单片机要强大得多,相对来说开发的产品功能比较大,代码也会比较复杂。

首先有完整的框架是非常必须的,我个人认为这里的框架有两层,一个是在STM32上移植现有的操作系统或者一些稳定的代码框架,另外一个是自己的编程风格。

你想很方便的开发相对复杂的东西,建议你首先在STM32上移植一个小型操作系统或一种框架,然后在操作系统之上编写你自己的应用去开发产品。在没有操作系统或框架的情况下开发是非常麻烦的事情。要做到条理清晰的话,那就应该去迎合操作系统或框架的风格去编写代码,这答案并不唯一。 举个简单例子,现在比较热门的STM32F103或STM32F407开发产品,一般会移植一个ucosii或rt-thread操作系统(当然也有移植linux或android的,但我个人很少见),ucosii我没实际开发过我就不说了,像rt-thread这样的实时操作系统,它具有多任务编程,那么我们就需要迎合它的特点,比如我串口作为一个线程,LCD、LED扫描作为一个线程,数据采集作为一个线程,键盘扫描作为一个线程等等,在他们的线程中只各自做自己的事情,然后在增加一个顶层的线程专门来负责处理其他线程所产生的消息事件(或者给其他各线程发送消息事件),顶层的线程是作为一个中心处理线程来合理安排和处理其他各个线程的消息事件。
至于在这方面的提升,只能是通过实践来达到效果,这里的“实践”不是说要完全自己去摸索,你需要有东西来借鉴,因为现在一些操作系统、或框架、或编程风格都是比较成熟,你直接拿来看,看看别人是怎么写的代码,然后自己再去仿照着能不能写的出来,再分析里面的优缺点。你要是还在学校且资源有限,建议你可以花个几百块钱上淘宝买一个开发板,一般的开发板都有各个外设的实验,以及综合实验,或许还会有操作系统或框架的移植和使用。
全部回答
#define bank1_lcd_c ((uint32_t)0x60000000) 0x60000000地址是一个无符号32位数, (__io uint16_t *) (bank1_lcd_c)将0x60000000地址转换成指向一个类型为__io uint16_t的指针。 *(__io uint16_t *) 括号前面的*号是取值。 整句的意思是将0x60000000地址所指向的值赋值成index
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
电脑版侠盗飞车破解版无限金币版
单机游戏怎么破解内购
湖南省衡山县福田乡坪田村十组调整后的低保花
工业增加值率是指在一定时期内工业增加值占工
金山工业园地址在哪,我要去那里办事
炫耀风彩工作室怎么去啊,有知道地址的么
开机风扇转但显示频无反应
您好 请问白河驾校院里还能给新车上牌吗? 检
魅蓝note2电信版如何切换卡2上网?在不禁用卡
修改wifi密码提示8~63个字符.可我修改的密码
桥岭线在什么地方啊,我要过去处理事情
【绝处逢生的意思】绝处逢生的意思是什么?
小马宝莉月亮公主为什么很多人说他知错就改,
dnf男漫游二觉技能怎样才不乱跑
梦见自己生了7个小女孩、第7个小女孩对我笑,
推荐资讯
如何解除手机黑名单号码
一人准备在今后7年每年年末存入A元,利率为I
自己下载固件刷手机系统后,再恢复数据,会不
恩施市恩施土家族苗族自治州环境保护科学研究
抹茶怎么才能不会分层
心灰意冷!!英语怎么说
要求:审核下列资料,扼要指出存在的影响纳税
长得高有啥用?
安徽轩明集团地址在什么地方,想过去办事
二九零农场四十四队地址在什么地方,想过去办
女子滑不是王蒙厉害吗,怎么周洋得冠军呢
红什么样的红酒做药引
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?