10494|10

5310

帖子

453

TA的资源

五彩晶圆(高级)

楼主
 

【Nucleo心得】+让您学习STM32 Nucleo 更精彩! [复制链接]

【Nucleo心得】+让您学习STM32 Nucleo 更精彩!

STM32 Nucleo板载ST-LINK调试器,同时该调试器扩展扩展虚拟串口,下面通过硬件,软件学习下如何把它利用起来!

1、硬件
找到板子背面SB62,SB63,短路这 2处。
    左下角,    焊好后,右上角

硬件说明:USART2-PA2=ST-LINK-RX,USART2-PA3 =ST-LINK-TX


2、软件
打开例程工程:UART_TwoBoards_ComPolling
stm32cubel0\STM32Cube_FW_L0_V1.1.0\Projects\STM32L053R8-Nucleo\Examples\UART\UART_TwoBoards_ComPolling\MDK-ARM

修改main.h
#define USARTx                           USART2
#define USARTx_CLK_ENABLE()              __USART2_CLK_ENABLE();
#define USARTx_RX_GPIO_CLK_ENABLE()      __GPIOA_CLK_ENABLE()
#define USARTx_TX_GPIO_CLK_ENABLE()      __GPIOA_CLK_ENABLE()


#define USARTx_FORCE_RESET()             __USART2_FORCE_RESET()
#define USARTx_RELEASE_RESET()           __USART2_RELEASE_RESET()


/* Definition for USARTx Pins */
#define USARTx_TX_PIN                    GPIO_PIN_2
#define USARTx_TX_GPIO_PORT              GPIOA  
#define USARTx_TX_AF                     GPIO_AF4_USART1
#define USARTx_RX_PIN                    GPIO_PIN_3
#define USARTx_RX_GPIO_PORT              GPIOA
#define USARTx_RX_AF                     GPIO_AF4_USART1



我想的功能是按下B1按纽就发送一次的功能
直接while(1)一下好了
#ifdef TRANSMITTER_BOARD
  /* Configure Button Key */
  BSP_PB_Init(BUTTON_KEY, BUTTON_MODE_GPIO);
  
  /* Toggle LED2 waiting for user to press button */
  BSP_LED_On(LED2);       
while(1)
{
  /* Wait for Button Key press before starting the Communication */
  while (BSP_PB_GetState(BUTTON_KEY) == RESET)
  {       
  }
  
  /* Wait for Button Key to be release before starting the Communication */
  while (BSP_PB_GetState(BUTTON_KEY) == SET)
  {
  }
  
       


  /* Turn LED2 off */
  BSP_LED_Off(LED2);
  
  /* The board sends the message and expects to receive it back */
  
  /*##-2- Start the transmission process #####################################*/  
  /* While the UART in reception process, user can transmit data through
     "aTxBuffer" buffer */


  if(HAL_UART_Transmit(&UartHandle, (uint8_t*)aTxBuffer, TXBUFFERSIZE, 5000)!= HAL_OK)
  {
    Error_Handler();   
  }
   
  
  /*##-3- Put UART peripheral in reception process ###########################*/  
  //if(HAL_UART_Receive(&UartHandle, (uint8_t *)aRxBuffer, RXBUFFERSIZE, 5000) != HAL_OK)
  //{
  //  Error_Handler();  
  //}
   
  /* Turn LED2 on: Transfer in reception process is correct */
  BSP_LED_On(LED2);
}  




此帖出自stm32/stm8论坛

最新回复

学习了  实际上是ST-LINK和L053USART已经连接,只不过通过62,63连接到D1,D0的端子  详情 回复 发表于 2015-3-15 10:43
点赞 关注
 

回复
举报

5310

帖子

453

TA的资源

五彩晶圆(高级)

沙发
 
ST把有些问题都考虑到了,既可以扩展,又不能少了基本功能!
只要我们有时多花点时间去看看!会有些惊喜的!

此帖出自stm32/stm8论坛
 
 

回复

34

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
为什么你跟我做的正好相反呢?难道我用的Nucleo的板子跟你们不一样么?我的版本号码:MB1136 rev C.
参看我的帖子 Nucleo 心得 - 一个软件工程师的初体验

“其中5.8节
The USART2 interface available on PA2 and PA3 of the STM32 microcontroller can be connected to ST-LINK MCU, STMicroelectronics Morpho connector or to Arduino connector. The choice can be changed by setting the related solder bridges. By default the USART2 communication between the target MCU and ST-LINK MCU is enabled in order to support Virtual Com Port for mbed (SB13 and SB14 ON, SB62 and SB63 OFF).”
板上缺省就是sb13 sb14 短路(0欧姆电阻)了,sb62 sb63断路,这样st-link的虚拟串口直接就可以用啊。
是不是没有正确安装驱动啊?
此帖出自stm32/stm8论坛

点评

我的也是C啊 sb13 sb14 默认短路(0欧姆电阻) sb62 sb63默认开路 我量了需要短接62,63 的  详情 回复 发表于 2014-9-24 11:50
 
 

回复

5310

帖子

453

TA的资源

五彩晶圆(高级)

4
 
abend 发表于 2014-9-24 11:39
为什么你跟我做的正好相反呢?难道我用的Nucleo的板子跟你们不一样么?我的版本号码:MB1136 rev C.
参看 ...

我的也是C啊


sb13 sb14 默认短路(0欧姆电阻)
sb62 sb63默认开路

我量了需要短接62,63 的
此帖出自stm32/stm8论坛
 
 
 

回复

34

帖子

0

TA的资源

一粒金砂(中级)

5
 
本帖最后由 abend 于 2014-9-24 12:11 编辑

那个   ST-LINK/V2-1 USB驱动 安装以后,系统里面就自动多了一个虚拟串口
你有没有打开这个虚拟串口读数据?
你看下面我查询到的说明,缺省就是支持这个虚拟串口的。
" By default the USART2 communication between the target MCU and ST-LINK MCU is enabled in order to support Virtual Com Port for mbed (SB13 and SB14 ON, SB62 and SB63 OFF).”"
此帖出自stm32/stm8论坛

点评

短接62,63是把,RX,TX脚连接到Arduino的D1,D0上 本身板子已经短接,虚拟端口通讯口了  详情 回复 发表于 2014-9-24 13:16
 
 
 

回复

5310

帖子

453

TA的资源

五彩晶圆(高级)

6
 
abend 发表于 2014-9-24 12:09
那个   ST-LINK/V2-1 USB驱动 安装以后,系统里面就自动多了一个虚拟串口
你有没有打开这个虚拟串口读数据 ...

短接62,63是把,RX,TX脚连接到Arduino的D1,D0上
本身板子已经短接,虚拟端口通讯口了
此帖出自stm32/stm8论坛

点评

不是,我的意思是如果你要用这块neclueo板子读usart2的数据的话,什么都不用做,只要用usb线连接上电脑,电脑里面就会有一个虚拟串口(前提是你正确安装了驱动),读写这个虚拟串口,就可以得到usart2的数据  详情 回复 发表于 2014-9-24 13:42
 
 
 

回复

5310

帖子

453

TA的资源

五彩晶圆(高级)

7
 
原来我也直接考虑 Arduino的D1,D0与053的16,1 7脚连接。

实际上是ST-LINK和L053USART已经连接,只不过通过62,63连接到D1,D0的端子上
此帖出自stm32/stm8论坛
 
 
 

回复

34

帖子

0

TA的资源

一粒金砂(中级)

8
 
蓝雨夜 发表于 2014-9-24 13:16
短接62,63是把,RX,TX脚连接到Arduino的D1,D0上
本身板子已经短接,虚拟端口通讯口了

不是,我的意思是如果你要用这块neclueo板子读usart2的数据的话,什么都不用做,只要用usb线连接上电脑,电脑里面就会有一个虚拟串口(前提是你正确安装了驱动),读写这个虚拟串口,就可以得到usart2的数据
此帖出自stm32/stm8论坛

点评

恩! 硬件上不用动了!  详情 回复 发表于 2014-9-24 13:46
 
 
 

回复

5310

帖子

453

TA的资源

五彩晶圆(高级)

9
 
abend 发表于 2014-9-24 13:42
不是,我的意思是如果你要用这块neclueo板子读usart2的数据的话,什么都不用做,只要用usb线连接上电脑, ...

恩!
硬件上不用动了!
此帖出自stm32/stm8论坛
 
 
 

回复

32

帖子

0

TA的资源

一粒金砂(初级)

10
 
STM32 Nucleo板载ST-LINK调试器,同时该调试器扩展扩展虚拟串口
此帖出自stm32/stm8论坛
 
 
 

回复

793

帖子

8

TA的资源

纯净的硅(中级)

11
 
学习了  实际上是ST-LINK和L053USART已经连接,只不过通过62,63连接到D1,D0的端子
此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表