你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F0的LL库使用(四)

[复制链接]
lebment 发布时间:2018-2-28 21:32
  接上篇:STM32F0的LL库使用(三)

这次来试试串口中断的简单应用。  
  硬件:STM32F030F4P6核心板,STLINK-V2-1(即NUCLEO板载仿真器拆下来的)
  软件:CubeMX(V2.4.0)+IAR(V8.20)
         LL库版本V1.9.0
1.PNG 2.PNG 3.PNG 4.PNG 6.PNG 5.PNG 按顺序用CubeMX来初始化即可。
  初始化完毕后开始写程序了。
  主程序:
    int main(void)
{
  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration----------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  LL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_USART1_UART_Init();

  /* Initialize interrupts */
  MX_NVIC_Init();
  /* USER CODE BEGIN 2 */
  
  LL_USART_EnableIT_RXNE(USART1);   
  
  USART_Print("Ready for Tx\r\n",(uint32_t) sizeof("Ready for Tx\r\n") );
  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
  /* USER CODE END WHILE */

  /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */

}

在这写的打印函数,和串口中断服务函数:
/* USER CODE BEGIN 4 */
void USART_Print(unsigned char *Send_Text,uint32_t Size_Text)
{
  
  uint32_t index = 0;
  
  for (index = 0; index < Size_Text; index++)
  {
    while (!LL_USART_IsActiveFlag_TXE(USART1));
     LL_USART_TransmitData8(USART1,Send_Text[index]);
  }

  while (!LL_USART_IsActiveFlag_TC(USART1));
}


void USART_Reception_Callback(void)
{
  __IO uint8_t UART_Rxdata;

  UART_Rxdata = LL_USART_ReceiveData8(USART1);

  LL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);
}

/* USER CODE END 4 */




在stm32f0xx_it.c里找到
/**
* @brief This function handles USART1 global interrupt.
*/
void USART1_IRQHandler(void)
{
  /* USER CODE BEGIN USART1_IRQn 0 */

  /* USER CODE END USART1_IRQn 0 */

  /* USER CODE BEGIN USART1_IRQn 1 */
  
  if(LL_USART_IsActiveFlag_RXNE(USART1) && LL_USART_IsEnabledIT_RXNE(USART1))
  {
    USART_Reception_Callback();//调用串口中断服务函数
  }
  /* USER CODE END USART1_IRQn 1 */
}

打开串口助手来进行实验,发送任意字符,即可翻转A4口上的灯。
注意一下上面的串口中断服务函数要声明一下,再编译。

              ...               
             ...         
                       





收藏 评论10 发布时间:2018-2-28 21:32

举报

10个回答
不锺意 回答时间:2018-3-1 14:32:41
没金币

点评

这样子不好吧..  发表于 2018-3-1 16:52
zero99 回答时间:2018-3-1 17:15:26
看看,学习下~
zense 回答时间:2018-3-2 13:12:51
STM32F030F4P6核心板 便宜的很勒..9.5元
lebment 回答时间:2018-3-2 23:01:45
zense 发表于 2018-3-2 13:12
STM32F030F4P6核心板 便宜的很勒..9.5元

几块钱吧,哪有9.5
板子粉丝 回答时间:2018-3-5 09:31:55
谢谢楼主
afonyang 回答时间:2018-4-11 14:58:31
学习了
nhtwins-165586 回答时间:2018-4-19 12:50:53
学习了
日正当中 回答时间:2019-8-20 16:01:47
学习了,LL库的资料太少了
generalcircuits 回答时间:2019-8-21 14:32:53
学习了,LL库的资料确实太少了

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版