|
|
包含UART、KEY、LED、USB-Flash、RTC幾個(gè)完整工程的例程給新手鋪路
0.jpg (72.83 KB, 下載次數(shù): 108)
下載附件
2018-9-1 02:43 上傳
=============================
下載方式
=============================
·SWD JTAG
=============================
程序功能
=============================
·USART串口實(shí)驗(yàn)
=============================
硬件連接
=============================
·將串口調(diào)試板連接到USART1接口上
======================================
軟件設(shè)置
======================================
·并且打開(kāi)串口助手 選擇好相應(yīng)的COM口 如下設(shè)置
----------------
波特率 | 115200 |
----------------
數(shù)據(jù)位 | 8 |
----------------
停止位 | 1 |
----------------
校驗(yàn)位 | None |
----------------
流控制 | None |
----------------
======================================
實(shí)驗(yàn)現(xiàn)象
======================================
·串口助手輸出相應(yīng)信息
單片機(jī)源程序如下:
- #include <stm32f10x.h>
- #include "usart.h"
- //#define CTRT
- void Delay (uint32_t nCount);
- #define LED1(x) x ? GPIO_SetBits(GPIOB,GPIO_Pin_12): GPIO_ResetBits(GPIOB,GPIO_Pin_12)
- #define LED2(x) x ? GPIO_SetBits(GPIOB,GPIO_Pin_13): GPIO_ResetBits(GPIOB,GPIO_Pin_13)
- #define LED3(x) x ? GPIO_SetBits(GPIOB,GPIO_Pin_14): GPIO_ResetBits(GPIOB,GPIO_Pin_14)
- #define LED4(x) x ? GPIO_SetBits(GPIOB,GPIO_Pin_15): GPIO_ResetBits(GPIOB,GPIO_Pin_15)
- uint8_t TxBuffer[] = "\n\rUSART Hyperterminal Hardware Flow Control Example: USART - \
- Hyperterminal communication using hardware flow control\n\r";
- #ifndef CTRT
- //配置矢量中斷,矢量的意思就是有順序,有先后的意思。
- void NVIC_Configuration(void)
- {
- NVIC_InitTypeDef NVIC_InitStructure; //定義數(shù)據(jù)結(jié)構(gòu)體
-
- NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0000);//將中斷矢量放到Flash的0地址
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);//設(shè)置優(yōu)先級(jí)配置的模式,詳情請(qǐng)閱讀原材料中的文章
- //使能串口中斷,并設(shè)置優(yōu)先級(jí)
- NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;
- NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
- NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
- NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
- NVIC_Init(&NVIC_InitStructure); //將結(jié)構(gòu)體丟到配置函數(shù),即寫(xiě)入到對(duì)應(yīng)寄存器中
- }
- #endif
- int main(void)
- {
- u32 i=0xffffff;
- SystemInit();
- #ifdef CTRT /*使用CTS RTS硬件流模式*/
- USART_CTRT_Configuartion();
- while(NbrOfDataToTransfer--)
- {
- USART_SendData(USART1, TxBuffer[TxCounter++]);
- while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);
- }
-
- /*Receive a string (Max RxBufferSize bytes) from the Hyperterminal ended by '\r' (Enter key) */
- while(1)
- {
- if(USART_GetFlagStatus(USART1, USART_FLAG_RXNE) != RESET)
- {
- USART_SendData(USART1,USART_ReceiveData(USART1));
- }
- }
- #else /*普通串口模式*/
- usart_Configuration();
- NVIC_Configuration();
- while(1)
- {
- printf("Waveshare!\r\n");
- while(--i);
- i=0xffffff;
- }
- #endif
- }
- /*******************************************************************************
- * Function Name : Delay
- * Description : Delay Time
- * Input : - nCount: Delay Time
- * Output : None
- * Return : None
- * Attention : None
- *******************************************************************************/
- void Delay (uint32_t nCount)
- {
- for(; nCount != 0; nCount--);
- }
復(fù)制代碼
所有資料51hei提供下載:
Port103R.rar
(1.97 MB, 下載次數(shù): 410)
2018-9-1 02:46 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
Port103R.pdf
(389.14 KB, 下載次數(shù): 118)
2018-8-31 23:49 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|