AT commands for Loop

0 votes

I am trying to execute AT commands from a Nordic NRF52. I am using the Nordic UART modulewith a built-in function called app_uart_put(uint8_t byte) to put AT commands on the UART. The node that receiving the AT commands is a EE-NBIoT module and it triggers on a postfix \r\n. When I run the following code, I get OK.

while (app_uart_put('A') != NRF_SUCCESS);
while (app_uart_put('T') != NRF_SUCCESS);
while (app_uart_put('+') != NRF_SUCCESS);
while (app_uart_put('C') != NRF_SUCCESS);
while (app_uart_put('F') != NRF_SUCCESS);
while (app_uart_put('U') != NRF_SUCCESS);
while (app_uart_put('N') != NRF_SUCCESS);
while (app_uart_put('=') != NRF_SUCCESS);
while (app_uart_put('1') != NRF_SUCCESS);
while (app_uart_put('\r') != NRF_SUCCESS);
while (app_uart_put('\n') != NRF_SUCCESS);

But I want to make a more reusable code, so I wrote the following writeCommand function.

void writeCommand(char cmd[])
{   
 while (app_uart_put('A') != NRF_SUCCESS);
 while (app_uart_put('T') != NRF_SUCCESS);
 while (app_uart_put('+') != NRF_SUCCESS);

 uint8_t i;
 for(i = 0; cmd[i] != '\0'; i++){
     while (app_uart_put(cmd[i]) != NRF_SUCCESS);
 }

 while (app_uart_put('\r') != NRF_SUCCESS);
 while (app_uart_put('\n') != NRF_SUCCESS);
 nrf_delay_ms(100);
}

When I run this function as shown below, I get ERROR.

char cmd[] = "CFUN=1";
nrf_delay_ms(1000);
writeCommand(cmd);

Why does not this work? When I look at the outgoing commands, they are equal.

Nov 21, 2018 in IoT (Internet of Things) by Upasana
• 8,550 points
109 views

1 answer to this question.

0 votes

I had a brief look at the AT command documentation for U-Blox Sara N210, and it seems decent although a bit brief on the introduction part. I suggest reading the V.250 specification first because that is much more thorough. So after writing your 1000 sentences, read this answer, first following the instructions regarding V.250, and then implement something along the given code structure of how to properly handle AT command, command/response text.

answered Nov 21, 2018 by Shubham
• 13,310 points

Related Questions In IoT (Internet of Things)

0 votes
1 answer

Disk Management Commands in PowerShell for Windows IoT device

All libraries of the full .Net framework ...READ MORE

answered Nov 26, 2018 in IoT (Internet of Things) by nirvana
• 3,060 points
77 views
0 votes
1 answer

What is the maximum message length for a MQTT broker?

It's not entirely clear what you're asking ...READ MORE

answered Jul 17, 2018 in IoT (Internet of Things) by anonymous2
• 4,260 points
1,342 views
0 votes
1 answer

Node-RED, IOT Foundation Out Node Not Sending Commands

A simple test to check if the ...READ MORE

answered Jul 19, 2018 in IoT (Internet of Things) by TejaswiniUL
• 140 points
68 views
0 votes
1 answer

Connect Android Things based Raspberry Pi 3 to wifi network for the first time!

Hey, I think its alright!  Your Raspberry Pi ...READ MORE

answered Jul 18, 2018 in IoT (Internet of Things) by nirvana
• 3,060 points
230 views
0 votes
1 answer
0 votes
1 answer

Sending more than 8 byte through UART on Raspberry Pi using Android Things!

So, you can send 234212441325454543595674859764 in ASCII, ...READ MORE

answered Aug 24, 2018 in IoT (Internet of Things) by nirvana
• 3,060 points
146 views
0 votes
1 answer

Pair and connect new devices using Bluez5 DBUS API with C++

Although high-level APIs like Qt5, which also ...READ MORE

answered Oct 8, 2018 in IoT (Internet of Things) by nirvana
• 3,060 points
690 views
0 votes
1 answer