Where is the peripheral interrupt address of JN5169?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Where is the peripheral interrupt address of JN5169?

990 Views
wxhntmy
Contributor I

When I used the JN-AN-1217 example, I found a UART_START_ADR. I don’t know where this address came from, and I didn’t find an introduction in the JN5169 Datasheet.This address looks like it is used to read the interrupt status and clear the interrupt.If I want to use the addresses of other peripherals, where should I find them and how to use them?E.g. timer.1.png

2.png

 

0 Kudos
2 Replies

980 Views
nxf56274
NXP Employee
NXP Employee

这是串口外设基地址,官网没RM,没法对照寄存器看,只能用提供的api来开发

0 Kudos

973 Views
wxhntmy
Contributor I

在 JN-AN-1217 中,使用 UG-3087 提供的外设 api 无法使用中断。

例如我要用 SPI 或者 I2C 的中断模式,在 irq_JN516x.S 文件设置中断优先级和回调函数之后,初始化硬件,根据 1217 例程的 uart.c,是使用消息队列来处理中断的,在回调函数里根据外设基地址来读取中断。

但是使用 3087 提供的外设 api,使用 vAHI_SpiRegisterCallback()、 vAHI_SiRegisterCallback() 注册回调函数,回调函数读取的  u32Device 和 u32ItemBitmap 数值不正常,无法根据中断标志位处理中断。

例程里的串口中断,516x 是根据外设基地址来处理,517x 是通过外设 api 来注册回调函数处理。看了例程里处理按键中断是通过定时器不断扫描读取IO状态,然后通过消息队列来处理的,难道现在也要用定时器来处理?

In JN-AN-1217, interrupts cannot be used using the peripheral api provided by UG-3087.

For example, I want to use the interrupt mode of SPI or I2C. After setting the interrupt priority and callback function in the irq_JN516x.S file, initialize the hardware. According to uart.c of the 1217 routine, the message queue is used to handle the interrupt. In the callback function Read the interrupt based on the peripheral base address.

But using the peripheral api provided by 3087, using vAHI_SpiRegisterCallback(), vAHI_SiRegisterCallback() to register the callback function, the u32Device and u32ItemBitmap values read by the callback function are abnormal, and the interrupt cannot be processed according to the interrupt flag bit.

The serial port interrupt in the routine, 516x is processed according to the peripheral base address, and 517x is processed by registering the callback function through the peripheral api. I saw that the processing of key interrupts in the routine is to continuously scan and read the IO status through the timer, and then process it through the message queue. Is it now also necessary to use the timer to process it?

 

0 Kudos