簡體   English   中英

C ++微控制器全局類/ Singelton?

[英]c++ microcontroller global classes/singelton?

我目前在微控制器上使用C ++,但遇到一個我不知道正確實現方式的問題:

例如,我正在使用一個串行接口類,該類負責配置串行端口(設置波特,數據位...)。 由於我只想在一開始就在MCU的初始化階段執行此操作,因此我不知道如何使用類來處理它。

我應該創建一個在初始化階段創建的全局類/單例(通過這種方式,我可以保留我的串行參數),還是應該在每次需要使用串行接口時創建一個類(但這會重新打開我的串行線-或我應該將構造函數留空)嗎?

非常感謝。

我嘗試避免全局變量和單例。

我定義了一個類,該類包含一個接受路徑名和配置以打開端口的構造函數,以及一個關閉端口的析構函數。 然后,我在main(...)聲明了它的static本地實例,並將對它的引用傳遞給需要使用該端口的其他類的構造函數。

傳遞引用(而不是聲明全局實例或獲取單例的全局函數)使我能夠為其他類編寫單元測試,在這些類中,測試通過引用傳遞給模擬串行端口對象。

您正在征求意見,因為所有選項均有效。
我確實相信創建一個單例來存儲所需的配置和資源是一個好方法。 這樣,您可以實現RAII習慣用法,並在需要時輕松訪問。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM