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

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
谢谢楼主
俏如来 回答时间:2018-4-11 14:58:31
学习了
nhtwins-165586 回答时间:2018-4-19 12:50:53
学习了
chenjunl 回答时间:2019-8-20 16:01:47
学习了,LL库的资料太少了
generalcircuits 回答时间:2019-8-21 14:32:53
学习了,LL库的资料确实太少了

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似技术帖

官网相关资源

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