用uart_dispatch.c
或者uart.c里的函数
不过MTK一般已经占用了2个串口,默认的设置是从com1做PS模块 com2做TST模块,你要用需要先移去串口注册的已有模块。
在uart_dispatch.c中找到些函数似乎可用。不过调用的时候直接死机。
kal_uint32 send_length;
kal_uint16 str_len;
kal_uint8 str[128];
memset(str, 0x00, 128);
strcpy((char*)str, "at+creg?");
str_len = (kal_uint16)strlen((const char*)str);
UART_Open(uart_port1, MOD_MMI);
UART_Register_TX_cb(uart_port1, MOD_MMI, UART_dafault_tx_cb);
UART_Register_RX_cb(uart_port1, MOD_MMI, UART_dafault_rx_cb);
send_length = UART_PutBytes(uart_port1, (kal_uint8*)str, str_len, MOD_MMI);
我是在MMI直接调用的,执行到UART_Register_TX_cb直接crash。
之前还需要执行什么吗?
如何把系统初始化时注册的模块移去呢?
我在MMI调用UART_Close(uart_port1,MOD_UART1_HISR);直接死掉。
用rmmi_write_to_uart()发At指令应该可以,前提是清楚NVRAM_EF_PORT_SETTING_DEFAULT的用法