历史上的今天
返回首页

历史上的今天

今天是:2025年02月04日(星期二)

2021年02月04日 | 单片机 如何给MSP430开发板下载程序 并做一个串口实验

2021-02-04 来源:eefocus

1简介

我们需要下面这些软件
在这里插入图片描述
CH340驱动软件:是使用BSL下载程序的话,电脑需要和单片机通信,他们之间的桥梁就是CH340芯片,电脑想要识别CH340芯片就需要驱动。下载程序需要使用CH340芯片,让单片机接受指令也需要使用CH340芯片,总之电脑和单片机之间的通信就是靠CH340芯片。
IAR软件:我们需要在这个软件里面写c代码,然后利用这个软件的编译功能,将c代码编译成hex文件,hex文件就是机器文件,单片机依靠这个文件来工作,这个文件最终是要下载到单片机里面去的。
串口助手软件:下载程序有专门用的软件,和单片机相互通信也有专门的软件,串口助手软件可以帮助你和单片机通信,可以在串口助手软件中写一个字符串发送给单片机,同时也可以在串口助手软件中接受单片机发送过来的数据。串口助手软件是验证单片机串口是否工作的一个重要软件。
下载程序到单片机的软件:这个软件专门负责把hex文件下载到单片机里面去。

2安装IAR

这个看word

3使用IAR编写程序 生成hex文件

步骤1:在桌面上新建一个文件夹,这个文件夹不要有中文或特殊符号,最好是全英文
在这里插入图片描述
步骤2:打开IAR
在这里插入图片描述
步骤3 新建工作空间
在这里插入图片描述
步骤4 新建工程
在这里插入图片描述
在这里插入图片描述
保存到桌面上新建的那个文件夹,为工程取个英文名字就好
在这里插入图片描述
最终效果:
在这里插入图片描述
步骤5 在main.c里写C代码,复制下面的代码:

/* --COPYRIGHT--,BSD_EX

 * Copyright (c) 2012, Texas Instruments Incorporated

 * All rights reserved.

 *

 * Redistribution and use in source and binary forms, with or without

 * modification, are permitted provided that the following conditions

 * are met:

 *

 * *  Redistributions of source code must retain the above copyright

 *    notice, this list of conditions and the following disclaimer.

 *

 * *  Redistributions in binary form must reproduce the above copyright

 *    notice, this list of conditions and the following disclaimer in the

 *    documentation and/or other materials provided with the distribution.

 *

 * *  Neither the name of Texas Instruments Incorporated nor the names of

 *    its contributors may be used to endorse or promote products derived

 *    from this software without specific prior written permission.

 *

 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"

 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,

 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR

 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR

 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,

 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,

 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;

 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,

 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR

 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,

 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

 *

 *******************************************************************************

 * 

 *                       MSP430 CODE EXAMPLE DISCLAIMER

 *

 * MSP430 code examples are self-contained low-level programs that typically

 * demonstrate a single peripheral function or device feature in a highly

 * concise manner. For this the code may rely on the device's power-on default

 * register values and settings such as the clock configuration and care must

 * be taken when combining code from several examples to avoid potential side

 * effects. Also see www.ti.com/grace for a GUI- and www.ti.com/msp430ware

 * for an API functional library-approach to peripheral configuration.

 *

 * --/COPYRIGHT--*/

//******************************************************************************

//  MSP-FET430P140 Demo - USART0, UART 115200 Echo ISR, XT2 HF XTAL ACLK

//

//  Description: Echo a received character, RX ISR used. Normal mode is LPM0,

//  USART0 RX interrupt triggers TX Echo. Though not required, MCLK= XT2.

//  ACLK = n/a, MCLK = SMCLK = UCLK0 = XT2 = 8MHz

//  Baud rate divider with 8Mhz XTAL = 8000000/115200 = 0069 (0045h)

//  //* An external 8MHz XTAL on X2IN X2OUT is required for XT2CLK *//

//  //* Min Vcc required varies with MCLK frequency - refer to datasheet *//

//

//

//                MSP430F149

//             -----------------

//         /||            XT2IN|-

//          | |                 | 8Mhz

//          --|RST        XT2OUT|-

//            |                 |

//            |             P3.4|------------>

//            |                 | 115200 - 8N1

//            |             P3.5|<------------

//

//

//  M. Buccini

//  Texas Instruments Inc.

//  Feb 2005

//  Built with CCE Version: 3.2.0 and IAR Embedded Workbench Version: 3.21A

//******************************************************************************


#include


int main(void)

{

  volatile unsigned int i;

  WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT

  P3SEL |= 0x30;                            // P3.4,5 = USART0 TXD/RXD


  BCSCTL1 &= ~XT2OFF;                       // XT2on


  do

  {

  IFG1 &= ~OFIFG;                           // Clear OSCFault flag

  for (i = 0xFF; i > 0; i--);               // Time for flag to set

  }

  while ((IFG1 & OFIFG));                   // OSCFault flag still set?


  BCSCTL2 |= SELM_2 + SELS;                 // MCLK = SMCLK = XT2 (safe)

  ME1 |= UTXE0 + URXE0;                     // Enable USART0 TXD/RXD

  UCTL0 |= CHAR;                            // 8-bit character

  UTCTL0 |= SSEL1;                          // UCLK = SMCLK

  UBR00 = 0x45;                             // 8MHz 115200

  UBR10 = 0x00;                             // 8MHz 115200

  UMCTL0 = 0x00;                            // 8MHz 115200 modulation

  UCTL0 &= ~SWRST;                          // Initialize USART state machine

  IE1 |= URXIE0;                            // Enable USART0 RX interrupt


  __bis_SR_register(LPM0_bits + GIE);       // Enter LPM0 w/ interrupt

}


#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)

#pragma vector=USART0RX_VECTOR

__interrupt void usart0_rx (void)

#elif defined(__GNUC__)

void __attribute__ ((interrupt(USART0RX_VECTOR))) usart0_rx (void)

#else

#error Compiler not supported!

#endif

{

  while (!(IFG1 & UTXIFG0));                // USART0 TX buffer ready?

  TXBUF0 = RXBUF0;                          // RXBUF0 to TXBUF0

}

完成后效果:
在这里插入图片描述

步骤6 设置IAR使其能够编译输出hex文件
改成release模式
在这里插入图片描述
效果:
在这里插入图片描述
然后右键点工程名字,出现这个界面,左键点option
在这里插入图片描述
然后再linker里选output,勾选覆盖默认,修改文件后缀为hex,设置输出格式为intel-extended,最后确定。
在这里插入图片描述

步骤6 点击编译,第一次编译会让保存工作空间名字,随便取个名字保存即可。
在这里插入图片描述
在这里插入图片描述
编译完成后最底下有提示:
在这里插入图片描述
再次点击编译就不会让保存工作空间了。
编译的目的是把写的C代码编译成hex文件,
这个文件在哪里我们要知道:
打开桌面上的工程文件,然后进入release文件夹
在这里插入图片描述
然后进exe文件夹
在这里插入图片描述
这个文件就是hex文件:
在这里插入图片描述

4 安装CH340驱动

在这里插入图片描述
在这里插入图片描述
出现安装失败的原因可能是电脑已经存在CH340驱动了,那就不用再管这个了。
安装驱动后,把单片机连接到电脑
然后把右键点击此电脑,然后点属性
在这里插入图片描述
然后点设备管理器
在这里插入图片描述
然后可以看到插入的430单片机的端口号,我这里就是COM24。端口号是计算机识别外部设备的代号,每次插入设备这个端口号可能会随机分配,所以每次插入后的端口号可能会不一样,下载程序或者串口通信都需要在软件里面设置端口号,这个端口号的查看方式我们得记住,同时也记住插入单片机后计算机给单片机分配的端口号是多少。
在这里插入图片描述

5下载程序到单片机

打开这个软件在这里插入图片描述
点这个去打开工程里生成的hex文件
在这里插入图片描述
打开后的效果:
在这里插入图片描述
点setup去设置端口号
在这里插入图片描述
我这里得将COM5那个位置设置为COM24,设置好后点击OK
在这里插入图片描述
然后设置单片机型号,最后点AUTO,点了之后程序就会下载到单片机里,注意看软件下方的提示,下载没错的话会提示编程成功。
在这里插入图片描述

6做串口实验

首先得看硬件,P34和P35引脚就是串口引脚。确保用一个USB转TTL模块,链接到这里,然后插入电脑。
在这里插入图片描述
我们之前下载的程序的功能是说,单片机串口收到什么信息,就会用串口回发一个相同的信息。
打开串口调试助手,选择端口号,选择波特率,然后打开串口,然后写一个字符串,最后点发送,单片机收到后,会回发一个同样的字符串,这就说明了串口通信成功。
在这里插入图片描述


推荐阅读

史海拾趣

爱普特微(aptchip)公司的发展小趣事

随着产品的广泛应用和市场的不断拓展,爱普特微电子逐渐获得了业界的广泛认可。公司屡获殊荣,包括“国家级专精特新小巨人”、“中国IC独角兽”、“中国TOP 50国产MCU厂商”等。这些荣誉的获得,不仅是对公司技术实力和市场表现的肯定,更是对公司未来发展的鼓励和期待。

厦门法拉(faratronic)公司的发展小趣事

FMI公司深知在极端环境条件下,电子系统对频率控制设备的高可靠性要求。因此,公司投入大量资源进行高可靠性产品的研发和生产。其高可靠性石英晶体和晶体振荡器产品被广泛应用于航空航天、军事、高可靠性空间等极端环境领域。这些产品以其卓越的性能和稳定性赢得了客户的广泛信赖和好评,进一步巩固了FMI在高端市场的领先地位。

Elite Enterprises (H K) Co Ltd公司的发展小趣事

随着市场的竞争加剧,Elite Enterprises意识到只有不断提升产品品质和技术水平,才能在竞争中立于不败之地。因此,公司加大了对研发的投资,不断引进先进的生产设备和检测仪器,并严格把控原材料采购和生产流程。这些努力使公司的LED产品在光效、寿命和稳定性等方面均达到了行业领先水平。

General Diode Corp公司的发展小趣事
检查冷却系统是否正常运行,清理散热片上的灰尘和杂物;若冷却风扇损坏,则需更换新的风扇。
CR Magnetics公司的发展小趣事

随着技术的不断进步和市场的不断变化,CR Magnetics意识到只有不断创新才能在竞争中立于不败之地。因此,公司加大了研发投入,积极引进新技术和新材料,不断推出具有创新性和竞争力的新产品。例如,公司研发的直流传感器在行业内享有很高的声誉,广泛应用于电池充电等领域。此外,公司还推出了一系列模拟量传感器、ANSI和商业级电流互感器等,满足了不同客户的需求。

台湾双羽公司的发展小趣事

随着半导体技术的兴起,富士通敏锐地捕捉到了这一领域的巨大潜力。公司开始加大在半导体研发方面的投入,致力于开发出具有自主知识产权的半导体产品。经过不懈的努力,富士通在半导体领域取得了多项重大突破,不仅提升了自身的技术实力,也为全球半导体产业的发展做出了积极贡献。如今,富士通已成为全球领先的半导体制造商之一,其产品在各个领域都得到了广泛应用。

问答坊 | AI 解惑

为了上班,买车值得吗?

今天去车市上看了一下,发现车市依然火暴,车还没降价格。因此,在想一个问题,比如我们电工,为了上班,买车值得吗?…

查看全部问答>

DIY示波器V2.0 最新进展-04.21

使用了一段时间altera 提供的cyclone开发板,觉得板子上的存储器资源特别充足。 存储器 256-Mbit DDR SDRAM 1-Mbyte同步 SRAM 16-Mbytes闪存 但是外设比较少,比较难进行前期的学习,为了能在示波器开发之前熟悉开发板,我们决定先进行显 ...…

查看全部问答>

Spartan6上原来还有光纤模块接口

        如题纯粹跑来感慨一下,我一直就好奇板子上一段小铁管是什么,原来是光纤模块接口 ,一顿晕眩!这咱可玩不了,希望下个试用者可以考虑做点这方面通讯实验,呵呵…

查看全部问答>

如何设计avr分析声音频率?

想让avr能够即时得到 通过mic采集到的周围环境的声音频率 各位大侠有什么思路没 请赐教…

查看全部问答>

国家二级字库汉字/字符地址??

大家好,我下了个国家二级字库,可是我不知字符或者汉字的地址从哪开始啊?说“啊”是汉字库存的第一个字,可是我实在找不到它的点阵是从哪个地址开始,?? 就差个地址了,还有就是这个字库 汉字是24*24点阵  字符是24*16点阵的吗? 字 ...…

查看全部问答>

大电阻测定

不知各位,有没有做过大电阻测定的电路,电阻在10兆欧以上。…

查看全部问答>

STTIME3问题

Error[Pe020]: identifier "TIM3" is undefined C:\\Users\\shenghua\\Desktop\\LCDDemo(lcd+led+buttom)\\LCDDemo\\project\\main.c 378 为什么  TIM3  没有定义啊?…

查看全部问答>

STM32无刷电机驱动

我的驱动电路是L6390D+STGP10NC60KD,现在用显示波器量LIN,HIN输入正常,现在问题是LVG输出15伏的波型正常,HVG只输出不正常的波形,7-8伏.有没有解答?ST的技术支持,都不知那里找. 下载 (49.45 KB) 2010-6-7 10:30 …

查看全部问答>

【MSP430共享】iar_msp430教程

IAR嵌入式工作平台Embedded Workbench为开发不同的目标处理器的项目提供强有力的开发环境,并为每一种目标处理器提供工具的选择。本章给出嵌入式工作平台的Embedded Workbench使用的项目模式简要讨论,并说明用户怎样用它来开发典型的应用程序。 [ ...…

查看全部问答>