cancel
Showing results for 
Search instead for 
Did you mean: 

Usart Multiprocessor

nimaltd
Senior

I can not find any example for Usart Multiprocessor, It does not work.

I config on CubeMx and 

HAL_MultiProcessor_EnableMuteMode(&huart1);

HAL_MultiProcessor_EnterMuteMode(&huart1);

put this 2  lines.

1 ACCEPTED SOLUTION

Accepted Solutions
nimaltd
Senior

After doing configuration on Cube and setting Address bit to 7 bits, The master should send first byte (address) or by 0x80. for example if the slave address is 0x01, the master should send 0x81.

but now i can not send data from slave to master. i am working on it...

slave code:

 

main()

.

.

HAL_MultiProcessor_EnableMuteMode(&huart1);

HAL_MultiProcessor_EnterMuteMode(&huart1);

HAL_UARTEx_ReceiveToIdle_DMA(&huart1, buf, sizeof(buf));

 

while (1)

{

}

View solution in original post

5 REPLIES 5
MA4
Associate III
nimaltd
Senior

hello @MA4 . thanks for your answer. but it is nit my topic. I could not find anything here

Anyway, I have found the solution.

@nimaltd  Please share the solution for the benefit of others who may come here with the same question.

Then mark that as The Solution.

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.
nimaltd
Senior

After doing configuration on Cube and setting Address bit to 7 bits, The master should send first byte (address) or by 0x80. for example if the slave address is 0x01, the master should send 0x81.

but now i can not send data from slave to master. i am working on it...

slave code:

 

main()

.

.

HAL_MultiProcessor_EnableMuteMode(&huart1);

HAL_MultiProcessor_EnterMuteMode(&huart1);

HAL_UARTEx_ReceiveToIdle_DMA(&huart1, buf, sizeof(buf));

 

while (1)

{

}