gpt4 book ai didi

c - C 中的数组用法

转载 作者:太空宇宙 更新时间:2023-11-04 08:13:41 25 4
gpt4 key购买 nike

我做了一些研究,但找不到适合我的问题的解决方案。由于我现在实在是一头雾水,我应该寻找什么,如何自己解决这个问题,我想问问你。

因为我是 C 的新手,我希望这不是一个太愚蠢的初学者问题,但我真的不知道如何解决它。

在尝试让它继续运行时,我将问题定为以下代码:

uint32_t possibleBaudrates[12] =
{
1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400, 460800, 921600, 1382400
};
uint8_t AT[2] = {'A', 'T'};

for(uint8_t i = 0; i < 12; ++i)
{
UART_SetBaudrate(&UART_0, possibleBaudrates[i], 16);

delay(1000000);

UART_Transmit(&UART_0, AT, 2);
}

为了提供更多信息,我正在尝试配置 HC06 模块的波特率。为了对此进行测试,我将 AT 发送到智能手机上的 Blueterm。问题应该是数组,因为以下代码运行良好(它在我的智能手机上的 Blueterm 上写入 12x AT):

uint32_t possibleBaudrates[12] =
{
1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400, 460800, 921600, 1382400
};
uint8_t AT[2] = {'A', 'T'};

for(uint8_t i = 0; i < 12; ++i)
{
UART_SetBaudrate(&UART_0, 9600, 16);

delay(1000000);

UART_Transmit(&UART_0, AT, 2);
}

我在第一个代码中期望的是 Blueterm 上的单个 AT,但我至少犯了一个错误。

编辑:对不起,我想我提供的信息太少了。第一个代码示例的行为是,Blueterm 上没有打印任何内容。应该是,“AT”一次(HC06模块的波特率设置为9600,如果通过数组,应该是9600)

Edit2:它只是有问题的部分,稍后它应该有使用,你可以获得波特率,在 HC06 模块上设置(如果我没有连接到 Blueterm,“AT”使模块回答“好的。但是遍历数组似乎出错了。)另外要提一下,如果波特率不是 9600,则 Blueterm 上不会打印任何内容(已测试)

Edit3: 不好意思,在雷克萨斯的提示下,我发现我的代码还有一个问题(好像是对Dave4的UART_SetBaudrate方法的误解,好像用过一次就设置好了,所以

UART_SetBaudrate(&UART_0, 2400, 16);
delay(10000000);
UART_Transmit(&UART_0, AT, 2);
UART_SetBaudrate(&UART_0, 9600, 16);
delay(10000000);
UART_Transmit(&UART_0, AT, 2);
UART_SetBaudrate(&UART_0, 9600, 16);
delay(10000000);
UART_Transmit(&UART_0, AT, 2);

不会在 blueterm 上打印任何东西,而

UART_SetBaudrate(&UART_0, 9400, 16);
delay(10000000);
UART_Transmit(&UART_0, AT, 2);
UART_SetBaudrate(&UART_0, 2400, 16);
delay(10000000);
UART_Transmit(&UART_0, AT, 2);
UART_SetBaudrate(&UART_0, 4800, 16);
delay(10000000);
UART_Transmit(&UART_0, AT, 2);

将在 blueterm 上打印 3x“AT”

提前致谢,我现在知道如何继续(在哪里处理错误)并对误导性问题表示抱歉。

我必须现在完成这个问题还是删除或其他什么?

最佳答案

所以,如果我错了,请纠正我。你想做一个循环并尝试以每个可能的波特率发送消息,对吗?

如果是这样,每次以不是终端波特率的波特率传输时,您都会在终端接收到垃圾字符。

您应该将程序设置为在给定的波特率下工作,或者在程序开始时选择您希望工作的波特率。

关于c - C 中的数组用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37226838/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com