2026西湖龙井茶官网DTC发售:茶农直供,政府溯源防伪到农户家

微星主板的jspi1接口是jspi1插针,就是微星主板上用来插BIOS编程器的插针。微星的这个是专用的12针,这个插针对于一般人来说基本没用。有关通过JSPI接口刷新BIOS的相关说明:1. 我们需要获得一份BIOS文件副本,通过网络下载获通过其他同型号主板备份获得均可。2. 将需要修复的主机调整为最小系统。3. 将编程器接至JSPI引脚。4. 将编程器与可工作的计算机通过USB相连,打开编程器。5. 按下开机键,对主板加电。6. 在正常使用的计算机上通过相关程序操作编程器,对BIOS进行在线烧录。7. 成功后关闭计算机,拆除编程器,恢复需维修主机完整。此时全部修复工作已经完成。二、uart模块使用?
UART使用示例1. UART发送与接收(非中断方式)#include 'headfile.h' //包含头文件uint8 uart_receive;uint8 uart_send[10];int main(void){DisableGlobalIRQ();board_init();//务必保留,本函数用于初始化MPU 时钟 调试串口 //初始化串口 波特率为115200 TX为D16 RX为D17uart_init (USART_8, 115200,UART8_TX_D16,UART8_RX_D17);//总中断最后开启EnableGlobalIRQ(0);uart_send[0] = 'S';uart_send[1] = 'E';uart_send[2] = 'E';uart_send[3] = 'K';uart_send[4] = 'F';uart_send[5] = 'R';uart_send[6] = 'E';uart_send[7] = 'E';uart_send[8] = '\\n';uart_send[9] = '\';while(1){//串口字节发送uart_putchar(USART_8,'S'); //发送0xA5uart_putbuff(USART_8,uart_send,10); //发送uart_senduart_putstr(USART_8,'输入任意字符程序继续运行\\n\');//发送字符串uart_getchar(USART_8,&uart_receive);//等待接收到一个字节后程序继续运行uart_putchar(USART_8,uart_receive); //发送收到的字符uart_putstr(USART_8,'\\n\'); //发送换行systick_delay_ms(100);//延时100毫秒}}编程要点1:在使用uart_getchar函数获取串口数据时需要注意,此函数需要等到收到数据后才会继续往后运行。2. UART接收(中断方式)#include 'headfile.h' uint8 example_rx_buffer;lpuart_transfer_t example_receivexfer;lpuart_handle_t example_g_lpuartHandle; uint8 uart_data;//接收到的串口数据 void example_uart_callback(LPUART_Type *base, lpuart_handle_t *handle, status_t status, void *userData){ if(kStatus_LPUART_RxIdle == status) { //数据已经被写入到了 之前设置的BUFF中 //本例程使用的BUFF为 example_rx_buffer uart_data = example_rx_buffer;//将数据取出 } handle->rxDataSize = example_receivexfer.dataSize; //还原缓冲区长度 handle->rxData = example_receivexfer.data; //还原缓冲区地址} //实验现象说明:将RX TX短接//通过在线调试可以看到 uart_data数据在持续加一操作uint8 uart_send;int main(void){ DisableGlobalIRQ(); board_init(); //务必保留,本函数用于初始化MPU 时钟 调试串口 //初始化串口 波特率为115200 TX为D16 RX为D17 uart_init (USART_8, 115200,UART8_TX_D16,UART8_RX_D17); NVIC_SetPriority(LPUART8_IRQn,15); //设置串口中断优先级 范围0-15 越小优先级越高 uart_rx_irq(USART_8,1); example_receivexfer.dataSize = 1; //配置串口接收缓冲区长度 example_receivexfer.data = &example_rx_buffer; //配置串口接收的缓冲区 //设置中断函数及其参数 uart_set_handle(USART_8, &example_g_lpuartHandle, example_uart_callback, NULL, 0, example_receivexfer.data, 1); EnableGlobalIRQ(0); while(1) { uart_send ; //串口字节发送 uart_putchar(USART_8,uart_send); //更多功能函数 自行查阅zf_uart文件 systick_delay_ms(100); }}编程要点1:在使用串口接收中断时需要注意,串口中断并不是一个固定的名称了,而是使用一个函数去设置当中断后我们想要执行的函数。这是因为在SDK的底层已经定义了串口中断,并且在串口中断里面做了一些处理,内部的程序会根据我们在初始化串口中断函数时设置的参数,在合适的时候调用我们用户自己设置的中断回调函数。编程要点2:在使用串口接收中断后,我们想要接收到一个字节就进入中断,但是又想要接收数组或者字符串应该怎么办呢?完成这个功能并不难,我们只需要定义一个数组,将每次收到的字节依次存放在数组里面就可以实现。