|
上周拿到申请的Nucleo开发板,今天终于有空上电把玩了。 一直在做基于CM3和CM0的应用,对于CM4还处于探索阶段。 为了便于上手,暂时不深入寄存器操作,以固件库为主。 先在官方例程的基础上加入了串口收发的代码,做了一个入门试验。 实现内容: 1,LD2(绿灯)闪烁的同时,通过USART1向外发送数据buf[10]; 2,向USART1发送10个数据,可以更新buf[10]的内容。
图1-1试验结果的截图
图1-2开发板-USB转232小板-PC接线截图 下面对修改的代码进行简单的说明。 1)在main()函数中插入测试代码: 1.1在LED2代码前插入Test()函数,用于串口初始化。 else /* Shield not mounted */ { Test();//insert code LED2_Blink(); } 1.2在LED2_Blink()函数中插入COM1_Send(*pTxBuff, length),实现数据buff的发送。 while(1) { /* Test on blink speed */ if(BlinkSpeed == 0) { STM_EVAL_LEDToggle(LED2); COM1_Send(buff,10);//insert code /* Wait for 500ms */ Delay(500); } else if(BlinkSpeed == 1) { STM_EVAL_LEDToggle(LED2); COM1_Send(buff,10);//insert code /* Wait for 100ms */ Delay(100); } else if(BlinkSpeed == 2) { STM_EVAL_LEDToggle(LED2); COM1_Send(buff,10);//insert code /* wait for 50ms */ Delay(50); } } 1.3中断处理程序中,通过接收数据来更新buff缓存中的数据。 extern u8 buff[]; u8 cur; u8 index_us = 0; void USART1_IRQHandler(void) { u16 srg = USART1->ISR; if (srg & 0x20) { cur = USART1->RDR; buff[index_us] = cur; index_us++; index_us %= 11; } } 2.试验程序的工程为:~\STM32_Nucleo_FW_V1.2.1\Projects\NUCLEO-F302R8\Demonstration\MDK-ARM\STM32F302_Nucleo_Demo.uvproj
STM32_Nucleo_FW_V1.2.1试验程序.rar
(1.36 MB, 下载次数: 159)
|
微信公众号
手机版
RE:【Nucleo板开发日志】+开发板入门程序(Keil_v5)---USART中断模式收发
回复:【Nucleo板开发日志】+开发板入门程序(Keil_v5)---USART中断模式收发
用于CAN、RTC、RS485等应用。
回复:【Nucleo板开发日志】+开发板入门程序(Keil_v5)---USART中断模式收发