久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 886|回復: 0
收起左側

usart_basic.c

[復制鏈接]
ID:438072 發表于 2018-12-3 03:10 | 顯示全部樓層 |閱讀模式
#include "stm32f10x.h"

#define NVIC_PRIORITYGROUP_4 3



void TIM1_UP_IRQHandler(void);
void usartSetup (void);
int SendChar (int ch);
int GetChar (void);
       
__IO uint16_t i = 0x30;
int characterRx;

int main(void)
{
   RCC->APB2ENR |= RCC_APB2ENR_IOPAEN;
   RCC->APB2ENR |= RCC_APB2ENR_TIM1EN;
         RCC->APB2ENR |= RCC_APB2ENR_USART1EN;

        // PA5 configuration (Digital Output, push-pull, max speed: 50 MHz)
         GPIOA->CRL &= ~GPIO_CRL_CNF5_0;
         GPIOA->CRL &= ~GPIO_CRL_CNF5_1;
         GPIOA->CRL |=  GPIO_CRL_MODE5_0;
         GPIOA->CRL |=  GPIO_CRL_MODE5_1;       
         // PA1 configuration (Digital Input, push-pull)       
         GPIOA->CRL &= ~GPIO_CRL_CNF1_0;
         GPIOA->CRL |=  GPIO_CRL_CNF1_1;
         GPIOA->CRL &= ~GPIO_CRL_MODE1_0;
         GPIOA->CRL &= ~GPIO_CRL_MODE1_1;       
       
        NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4);
        NVIC_SetPriority (TIM1_UP_IRQn, 1);

       
   NVIC_EnableIRQ(TIM1_UP_IRQn);
   TIM1->PSC   = 999;           /* 36 MHz -> 36E6/1E3 = 36E3 Hz */
   TIM1->ARR   = 36000;          /* 36E3/36E3 = 1 Hz */
   TIM1->DIER |= TIM_DIER_UIE;   /* interrupt on update */
   TIM1->CR1  |= TIM_CR1_CEN;    /* enable */
         
         usartSetup ();
         
   while (1)
         {

   }
   /* return 0; */
}

void TIM1_UP_IRQHandler(void)
{
   TIM1->SR &= ~TIM_SR_UIF;

         GPIOA->ODR ^= 1<<5;

     SendChar(i);
           i++;
           if (i == 0x80)
                         i = 0x30;
           characterRx= GetChar();
}

void usartSetup (void) {

         // make sure the relevant pins are appropriately set up.
         // PA9 <- USART1_TX
         GPIOA->CRH &= ~GPIO_CRH_CNF9_0;  // GPIO_Mode_AF_PP
         GPIOA->CRH |=  GPIO_CRH_CNF9_1;
         GPIOA->CRH |=  GPIO_CRH_MODE9_0; // GPIO_Speed_50MHz
         GPIOA->CRH |=  GPIO_CRH_MODE9_1;       
       
   // PA10 <- USART1_RX
         GPIOA->CRH &= ~GPIO_CRH_CNF10_0; // GPIO_Mode_IN_FLOATING
         GPIOA->CRH |= GPIO_CRH_CNF10_1;
         GPIOA->CRH &= ~GPIO_CRH_MODE10_0; // Don't care
         GPIOA->CRH &= ~GPIO_CRH_MODE10_1;       
       
  RCC->APB2ENR |= RCC_APB2ENR_USART1EN; // enable clock for USART1
  USART1->BRR = 72000000L/115200L; // set baudrate
  USART1->CR1 |= (USART_CR1_RE | USART_CR1_TE); // RX, TX enable
  USART1->CR1 |= USART_CR1_UE; // USART enable
  }

Int SendChar (int ch) {
  While (!(USART1->SR & USART_SR_TXE));
  USART1->DR = (ch & 0xFF);
  Return (ch);
}

Int GetChar (void) {
  While (!(USART1->SR & USART_SR_RXNE));
  Return ((int)(USART1->DR & 0xFF));
}


回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久草日韩| 久久91av| 天天操夜夜爽 | 日韩欧美国产一区二区三区 | 日韩av大片免费看 | 中文字幕一区二区三区在线乱码 | 欧美成人一区二免费视频软件 | 亚洲视频一区二区三区 | 日韩成人在线免费观看 | 最新日韩精品 | 日日夜夜精品 | 日韩av第一页 | 福利片在线 | 97精品国产一区二区三区 | 久久午夜精品福利一区二区 | 亚洲午夜精品一区二区三区 | 亚洲人成一区二区三区性色 | 成人三级在线观看 | 美女天天操 | 日韩精品免费一区二区在线观看 | 啪视频在线 | 欧美一区二区三区精品 | 天天搞天天操 | 亚洲高清视频一区二区 | 久久久精 | 日韩在线中文 | 欧美黄页 | 国产精品高潮呻吟久久 | 一级黄色毛片免费 | 国产精品美女 | 日韩欧美福利视频 | 日韩网 | 欧美精品a∨在线观看不卡 欧美日韩中文字幕在线播放 | 欧美白人做受xxxx视频 | 精品久久久久国产免费第一页 | 亚洲乱码一区二区三区在线观看 | 日韩国产在线 | 蜜臀网 | 欧美激情精品久久久久 | 亚洲午夜精品 | 国产日韩一区二区三免费高清 |