USART Help. Cant find information on datasheet

New to the Spark Core and am unsure how it gets coded. I am used to included the libraries with embedded C and flashing the chip. how does the Spark Core handle this? I assume its through the server, but am not positive.

Also, I am trying to find out more information about the Spark Core ARM processor the powers the device. I can not locate the information about its USART modes within the datasheet on the github site. The section it does have is a small paragraph that does explain anything helpful.

I have developed with Microchip PIC16 chips and they have detailed information within their datasheets. I am looking for this information because the I am working with multiple RF sensors that have PIC16 chips already setup with 9 bit transmission and addressing. If the Spark Core can not read this, they sensors will not talk to the Spark Core. Also, I need to know about the interrupt the chip has for receiving and I don’t see any of that in the datasheet either.

Any help or direction with this matter would be greatly appreciated.

Thank,
Kevin

Most of the documentations are here: Particle Welcome to the Particle docs

Hardware Specifications can be seen here: Particle Welcome to the Particle docs

Datasheets and shield info: Particle Welcome to the Particle docs

Spark Core is rather similar to Arduino in terms of the programming method. If you RF sensors can work on Arudino it would probably work with :spark: with minimal changes :slight_smile:

You can write your programs offline and flash it to the core or the WebIDE now supports multiple files so you can easily port the libraries into them

@zachary might be able to give more clue about the 9-bit question. What i know that modification on Arduino is required to get this going

Saw in the code spark-firmware code:

// USART default configuration
// USART configured as follow:
// - BaudRate = (set baudRate as 9600 baud)
// - Word Length = 8 Bits
// - One Stop Bit
// - No parity
// - Hardware flow control disabled (RTS and CTS signals)
// - Receive and transmit enabled
USART_InitStructure.USART_BaudRate = baud;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
USART_InitStructure.USART_StopBits = USART_StopBits_1;
USART_InitStructure.USART_Parity = USART_Parity_No;
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;

Seems like it's possbile but not implemented yet from:

void USARTSerial::begin(unsigned long baud, byte config)
{

}

1 Like

Thanks for the help. Its always appreciated to have others assist with questions.

I am going to look into this further and try to work with the libraries for now to see if it will communicate with the PIC16.

Also if you are looking for lower-level documentation, we use the STM32F103 micro-controller, and the datasheets for all of our components are located here:

Thanks for all the feedback.

I have been looking through the datasheets on github. I feel that I am a little foggy with the way the documentation is setup on github. Once I play around with the site and Spark Core I will become more familiar with things.