有客戶要做案子,希望看到會動的東西。
於是就用STM32的demo板做一個概念性的範例。
使用STM32F476 Discovery板做一個樣子。因為這個板子有支援,完全不需使用STM32CubeIDE及STM32CubeMX就可以更新程式。
然後就會遇到一個C工程師不太想遇到的問題: 升級成C++
個人不太想升,效益不好,90%的工作都在C上,升上去能用幾個案子?
所以只能選擇C/C++混編。
這個算簡單: C程式存成 *.c,不用改。
主要是在cpp內引用.c函式,要在函式前面多加 extern "C"
很快就做出樣本程式,還有Simulator的PC程式可以給客戶看一下。
對方很快的就提出正式規格了。
然後...痛苦的事一個一個來了。
關於 C/C++ 混編的問題,我最近也在研究。
回覆刪除主要的原因是:有太多人在Arduino 平台上完善許多常見、又常用的外掛模組。
而這些人有一部分真的就是純搞軟體人來玩的,所以就習慣用 C++囉。
但有些東西用C++ 維護這些成熟模組的函數庫。真的也比較方便...
原廠或是大陸人提供的那些範例(例程)就還是習慣用 C。
雖然C++ 搞起來,據說程式碼較大或效能會差一點,但MCU 的效能趨勢
又會越來越大、越強大...所以我想終究有一天:C++ 還是會漸漸往這邊
滲透進來的啦。
幸好的是我平常也常在PC 平台上用 VC 寫一些 APP 軟體,所以還可以適應的啦。
個人錯過PC上練程式的時機,結果進的是android上寫一點測試程式。早期還沒有C++,只好另外找一個方法進去。
刪除然後用android測了BlueTooth, NFC, USB。
不錯啦...能有機會學手機軟體像我就不行。
刪除現在老闆問我,我也只能跟老闆回答說:老闆你可能要找外包的啦。
然後,就只能出嘴巴而已。
想學也沒機會了。交給年輕人了囉。