⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 ST公司STR系列单片机演示程序使用BSPI作串口通信
💻 C
字号:
/******************** (C) COPYRIGHT 2003 STMicroelectronics ********************
* File Name          : main.c
* Author             : MCD Application Team
* Date First Issued  : 03/09/2003
* Description        : This file is used for the STR71x BSPI used as a UART
*                      application note (AN 1800).
********************************************************************************
* History:
*  14/12/2004 :  V1.2
*  01/12/2003 :  V1.1
*  03/09/2003 :created
********************************************************************************
 THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH
 CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
 AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT
 OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
 OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION
 CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
*******************************************************************************/
#include "71x_lib.h"

void delay( void );

int main (void)
{
  int i;
  u8 data2=0, shift=1, shift2=128;
  u16 Data;

  #ifdef DEBUG
  debug();
  #endif

  APB_SwResetConfig (APB1, ENABLE,  BSPI1_Periph);
  APB_SwResetConfig (APB1, DISABLE, BSPI1_Periph);

  GPIO_Config ( GPIO0, 0x0077, GPIO_AF_PP );

   /*  BSPI 1 Master Configuration */
   BSPI_Init   ( BSPI1 );
   BSPI_ClockDividerConfig ( BSPI1, 0xCF);
   BSPI_Enable ( BSPI1, ENABLE );
   BSPI_MasterEnable ( BSPI1,ENABLE);
   BSPI_ClkActiveHigh(BSPI1, DISABLE);
   BSPI_ClkFEdge(BSPI1, ENABLE);
   BSPI_8bLEn(BSPI1, ENABLE);

   /* invert data; */
   i=0;
   Data=0x42;
   while(i<8)
     {
       if((Data&shift)!=0)
       {
            data2 |= shift2;
       }
     shift *= 2;
     shift2 /= 2;
     i++;
    }
   Data = data2>>1;

   /* send Data */
   while(1)
   {
     BSPI_WordSend(BSPI1, Data);
     delay();
   }
/* -------------------------------------------------------------------------- */
}
void delay( void )
{
 u16 i;
 for(i=0;i<0xFFF;i++);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -