delay_init(); //初始化UART为中断模式,注册接受完成(IDLE)回调函数 BOARD_UART.uart_mode_tx=MODE_INT; BOARD_UART.uart_mode_rx=MODE_INT; BOARD_UART.uart_idle_callback=user_receive_complete_callback; bsp_uart_init(&BOARD_UART); nvic_irq_enable(USART0_IRQn,2,0); delay_ms(1000); printf(...
nvic_irq_enable(USART0_IRQn,2,0); delay_ms(1000); printf("uart dma mode sends and receives loopback packets of indefinite length.\r\n"); //配置UART接受,最长100byte driver_uart_dma_receive(&BOARD_UART,uart_rec_buff,100); while (1) { //查询到接受完成回调函数标志 if(uart_receive_co...
uint32_t get_systick_us(void); uint32_t get_systick_ms(void); void delay_ms(uint32_t ms); void delay_us(uint32_t us); void systick_deinit(void); /* * Call by Systick interrupt server */ void systick_handler(void); #endif 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ...
代码如下: #include"delay.h"// #define USE_BLOCK#ifdefUSE_BLOCK/* 和正点原子一样的延时方式,cpu死等,适用于时间比较短的方式 */voiddelay_ms(uint32_tms){ SysTick->LOAD = SystemCoreClock /1000-1;// 设置SysTick定时器为1毫秒SysTick->VAL =0;// 设置初值为0SysTick->CTRL |= SysTick_CTRL_...
interface */adc_enable(ADC0);delay_ms(1);/* ADC calibration and reset calibration */adc_calibration_enable(ADC0); } 主函数也很简单: /* brief main function param[in] none param[out] none retval none */intmain(void){uint32_tad=0;uint8_ti=0;//systick initsysTick_init();//usart ...
delay_ms(1000); led_off(LED1);// 灭 delay_ms(1000); } } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34.
delay_ms(1); adc_calibration_enable(ADC->adc_port); } 在解析上述代码前,我们先看driver_adc.h两个结构体声明。 1、ADC设置参数结构体,该结构体中规定了ADC设置所需要的参数: C /*ADC设置参数*/ typedef struct __typdef_adc_general { rcu_periph_enum rcu_adc;//ADC时钟口 ...
delay_ms(100); printf_log("uart interrupt mode sends and receives loopback packets of indefinite length.\r\n"); //启动UART中断接受,最长100byte driver_uart_int_receive(&BOARD_UART,uart_rec_buff,100); while (1) { //查询到接受完成回调函数标志 if(uart_receive_complete_flag==SET) { uar...
delay_ms(200); } } main函数中实现了向特定NOR FLASH地址写数据,并回读出来,并将写入的数据和回读出来的数据进行对比,看是否写入成功。 19.5实验结果 使用USB-TypeC线,连接电脑和板上USB to UART口后,配置好串口调试助手,即可看到MCU对SPI NOR flash的擦写读过程。
mode_config(TIMER15, TIMER_CH_0, TIMER_OC_MODE_PWM0);//设置定时器通道输出比较模式为PWMtimer_primary_output_config(TIMER15, ENABLE);//启用输出比较功能while (1) {for (uint16_t i = 0; i < 1000; ++i) {timer_channel_output_pulse_value_config(TIMER15, TIMER_CH_0, i);delay_ms(1)...