cancel
Showing results for 
Search instead for 
Did you mean: 

Power LoRa disco board external

Jeroen deBuffel
Associate III
Posted on July 05, 2017 at 14:32

Have been playing with the B-L072Z-LRWAN1 and it all works fine. Now we would like to hook up directly to the Murata ABZ (via the break out / CN2 and CN3).

As a start I have externally powered the ABZ. I expected the ABZ to send out LoRa messages as it does when connecting the Disco board via USB. However there are no LoRa message getting out. What am I missing here? Suggestions are appreciated

Note: this post was migrated and contained many threaded conversations, some content may be missing.
13 REPLIES 13
Posted on January 08, 2018 at 18:07

Hello Jeroen,

I'm also trying to get USART1 working instead of LPUART, I did following changes besides the one related to the GPIO that you already posted but no luck. Could you please provide some hints?

&sharpdefine UARTX                           USART1

&sharpdefine UARTX_CLK_ENABLE()              LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_USART1)

&sharpdefine UARTX_RX_GPIO_CLK_ENABLE()      LL_IOP_GRP1_EnableClock(RCC_IOPENR_GPIOBEN)

&sharpdefine UARTX_TX_GPIO_CLK_ENABLE()      LL_IOP_GRP1_EnableClock(RCC_IOPENR_GPIOBEN)

&sharpdefine UARTX_FORCE_RESET()             LL_APB2_GRP1_ForceReset(LL_APB2_GRP1_PERIPH_USART1)

&sharpdefine UARTX_RELEASE_RESET()           LL_APB2_GRP1_ReleaseReset(LL_APB2_GRP1_PERIPH_USART1)

&sharpdefine UARTX_IRQn                      USART1_IRQn

&sharpdefine UARTX_IRQHandler                USART1_IRQHandler
Posted on January 08, 2018 at 19:15

If the pins are PA9/PA10 then you'd need to enable GPIOA clocks, not GPIOB clocks

Use a debugger and walk the pin and peripheral settings.

Do some sanity checking by sending a byte stream (0x55 ?), scope pins, confirm bit timing and signal presence.

Check the interrupt handler fires.

&sharpdefine UARTX USART1

&sharpdefine UARTX_CLK_ENABLE() LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_USART1)

&sharpdefine UARTX_RX_GPIO_CLK_ENABLE() LL_IOP_GRP1_EnableClock(RCC_IOPENR_GPIOAEN)

&sharpdefine UARTX_TX_GPIO_CLK_ENABLE() LL_IOP_GRP1_EnableClock(RCC_IOPENR_GPIOAEN)

&sharpdefine UARTX_FORCE_RESET() LL_APB2_GRP1_ForceReset(LL_APB2_GRP1_PERIPH_USART1)

&sharpdefine UARTX_RELEASE_RESET() LL_APB2_GRP1_ReleaseReset(LL_APB2_GRP1_PERIPH_USART1)

&sharpdefine UARTX_TX_PIN GPIO_PIN_9

&sharpdefine UARTX_TX_GPIO_PORT GPIOA

&sharpdefine UARTX_TX_AF GPIO_AF4_USART1

&sharpdefine UARTX_RX_PIN GPIO_PIN_10

&sharpdefine UARTX_RX_GPIO_PORT GPIOA

&sharpdefine UARTX_RX_AF GPIO_AF4_USART1

&sharpdefine UARTX_IRQn USART1_IRQn

&sharpdefine UARTX_IRQHandler USART1_IRQHandler
Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Posted on January 09, 2018 at 10:25

You will also have to make sure that the go-to-sleep and wake-from-sleep stuff is properly handling your changes ...

Have you looked at theI-NUCLEO-LRWAN1

- with the

USI module? This seems more focussed on being just a 'modem' (with AT Commands) - rather than having embedded applications?

http://www.st.com/en/evaluation-tools/i-nucleo-lrwan1.html

It has a smaller STM32, so might work out cheaper when not needing all the extra flash ... ?

Posted on January 09, 2018 at 15:01

Thanks Clive,

Yeah with your code so far I'm able to observe PA9 on the scope after system reset.

It seems that I need to adjust a clock somewhere because the baudrate decreased from 9600 to 9

I'm working with STM32 for the first time, any help is appreciated.