我目前正在学校进行一个项目,在那里我和我的团队应该让游戏“炸弹人”在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