我目前正在學校進行一個項目,在那裏我和我的團隊應該讓遊戲「炸彈人」在STM32F4-Discovery卡上執行(它有一個基於ARM的處理器)。遊戲顯示在連接到發現卡的小型LCD觸摸屏上,觸摸屏也用作遊戲的控制器。該遊戲目前是可玩的,一切都正確執行,你可以獨自玩三個AI角色。遊戲和所有硬件啓動完全由C編寫。如何通過USART將兩個STM32F4-Discovery卡與LCD連接
現在我們決定在遊戲中實現多人遊戲,這意味着我們將有兩個STM32F4-Discovery卡和LCD觸摸屏的設置。每個設置都控制一個玩家在同一個遊戲地圖上。我們應該通過USART連接兩個設置。
我的問題是,我們如何讓這兩個STM32F4-Discovery卡進行通信並顯示相同的遊戲地圖?我試圖谷歌它沒有任何成功,所以我現在轉向你在stackoverflow。
編輯:我根據Unwind提供的信息添加後續問題。
後續問題:
我們得到了很多的,我們可以用它來啓動我們的硬件等,這些文件之一被稱爲STM32F4xx-usart.c預先編寫的文件。它包含一個函數:
void USART_Init(USART_TypeDef* USARTx, USART_InitTypeDef* USART_InitStruct).
的USART_InitStruct看起來像這樣(在我們得到了它的代碼是預先定義的 - ):
typedef struct{
uint32_t USART_BaudRate;
uint16_t USART_WordLength;
uint16_t USART_StopBits;
uint16_t USART_Parity;
uint16_t USART_Mode;
uint16_t USART_HardwareFlowControl;
} USART_InitTypeDef;
我猜我將不得不使用這種結構形成兩個新的結構將保存我的主卡和我的奴隸卡的價值。
我的問題是:如何編寫這兩個結構,以便我可以將它傳遞給init_USART()函數? 您不需要提供任何值,只需要提供語法。
我試圖
struct USART1_initStruct{
uint32_t USART_BaudRate;
uint16_t USART_WordLength;
uint16_t USART_StopBits;
uint16_t USART_Parity ;
uint16_t USART_Mode ;
uint16_t USART_HardwareFlowControl;
} U1IS = {9600, USART_WordLength_9b, USART_StopBits_1, USART_Parity_No, USART_Mode_Tx, USART_HardwareFlowControl_None};
,然後使這個結構的功能,但我得到了一個錯誤:
error: expected expression before 'struct'
這個問題與主題無關。你只是問如何在c中初始化一個結構體。 – 2014-10-06 18:08:07