STM32学习心得(3)
d)
发送一位字符
USART_SendData(USART1,
while(USART_GetFlagStatus(USART1,
接收一位字符
while(USART_GetFlagStatus(USART1,
变量=
发送一个字符串
先定义字符串:char
while(rx_data!= )
{USART_SendData(USART1,
e)
发动和接受都需要配合标志等待。
只能对一个字节操作,对字符串等大量数据操作需要写函数
使用串口所需设置:RCC初始化里面打开RCC_APB2PeriphClockCmd
(RCC_APB2Periph_USARTx);GPIO里面管脚设定:串口RX(50Hz,IN_FLOATING);串口TX(50Hz,AF_PP);
f)
(1)
#include
(2)
#define
(3)
(4)
(6)
int
{
}
(8)
3、
a)
b)
c)
i.
USART_ITConfig(USART1,
ii.
iii.
NVIC_InitTypeDef
NVIC_InitStructure.NVIC_IRQChannel
NVIC_InitStructure.NVIC_IRQChannelPreemptionPrio
NVIC_InitStructure.NVIC_IRQChannelSubPriority
NVIC_InitStructure.NVIC_IRQChannelCmd
NVIC_Init(&NVIC_InitStructure);
iv.
void
{
char
RX_dat=USART_ReceiveData(USART1)
USART_SendData(USART1,
while(USART_GetFlagStatus(USART1,
}
d)
可以随时在程序中使用USART_ITConfig(USART1,
NVIC_InitTypeDef
全局变量与函数的定义:在任意.c文件中定义的变量或函数,在其它.c文件中使用extern+定义代码再次定义就可以直接调用了。
STM32笔记之九:打断它来为我办事,EXIT
a)
b)
void
c)
EXTI_Configuration();//IO中断初始化函数调用简单应用:
d)
void
{
EXTI_ClearITPendingBit(EXTI_LINE_KEY_BUTTON);//清除中断标志
GPIO_EXTILineConfig(GPIO_PortSourceGPIOA,
GPIO_EXTILineConfig(GPIO_PortSourceGPIOA,
EXTI_InitStructure.EXTI_Mode
}
e)
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA
GPIO初始化函数中定义输入I/O管脚。
//IO输入,GPIOA的4脚输入
GPIO_InitStructure.GPIO_Mode
f)
g)
{
USART_SendData(USART1,
GPIO_WriteBit(GPIOB,
}
h)
中断发生后必须清除中断位,否则会出现死循环不断发生这个中断。然后需要对中断类型进行判断再执行代码。
使用EXTI的I/O中断,在完成RCC与GPIO硬件设置之后需要做三件事:初始化EXTI、NVIC开中断、编写中断执行代码。
STM32笔记之十:工作工作,PWM输出
a)
b)
c)
void
d)
TIM_Configuration();
e)
void
{
//TIM3初始化
TIM_Cmd(TIM3,
}
f)
RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM3,
g)
h)
//打开TIM2中断
评论