1

这是我第一次在这个论坛发帖,希望你能帮助我。

对于我的研究项目,我需要用 C 语言实现一个 Petri 网络执行器,以使用微控制器的所有子系统。我一直在使用 Atmel Studio 6.2 来模拟我的网络的结果。

尤其是 UART 系统,我遇到了很多问题。

void transmiteUART0(unsigned char data)
{
    //Wait until the Transmitter is ready
    while ( (UCSR0A & (1 << UDRE0))==0 );   
    //Get that data outta here!
    UDR0 = data;    
}

这是我发送UART系统的功能。但是当我尝试将数据分配给 UDR0 时,它不会分配,因为 UDRE0 位仍然设置在 UCSR0A 寄存器中,并且模拟器不会让我关闭该位。

有什么解决办法吗?如果这是一个相当基本的问题,我深表歉意,但我尝试了所有不同类型的解决方案和模拟教程,但我似乎无法弄清楚为什么它不起作用。

4

0 回答 0