#include "stm32f10x_lib.h"
int main(void) //main函数,在STM32F10x.S里,设置IMPORT __main为程序入口
{
RCC->APB2ENR|=0X00000010; //设置寄存器RCC_APB2ENR的位4即IOPC EN位1.使能外设PC时钟
GPIOC->CRL&=0XF0FFFFFF; //设置寄存器GPIO_CRL的位27,26,25,24即CNF6,MODE6为0000
GPIOC->CRL|=0x03000000; //设置寄存器GPIO_CRL的位27,26,25,24即CNF6,MODE6为0011,就是
//PC6 为推挽输出,这2行这样设置让其它位维持不变。
while(1)
{
//直接操作寄存器GPIO_BRR,设置为 0000 0000 0000 0000 0000 0000 0100 0000B即设置BR6=1,PC6输出低电平0。
GPIOC->BRR = 0X00000040;
//直接操作寄存器GPIO_BSRR,设置为 0000 0000 0000 0000 0000 0000 0100 0000B即设置BR6=1,PC6输出低电平1。
GPIOC->BSRR = 0X00000040;
}
}
/*****************************************************************************************************/
RCC->APB2ENR寄存器的数据手册
GPIO_BRR/BSRR手册
使用proteus软件将上面程序写入MCU得到以下结果。