实践课程-PRO2-Day3

news/2025/1/15 12:25:48/

 实训项目<基于stm32处理器的蓝牙小票打印机>
//---------------------------------------
              第2天

今日任务:
1.stm32处理器工程模板建立.
2.stm32处理器第1个程序--点亮一个灯.

//---------------------------------------
一.工程模板建立
  有两种代码书写风格:调用官方提供的库函数操作硬件;
                    直接读写寄存器操作硬件;

  1.寄存器操作工程模板的建立.
    stm32固件库v3.5建工程_信盈达20160512.pdf 
  2.工程的配置.
  3.程序在线下载.

二.stm32 处理器介绍
   
   内核+外部设备 = 集成芯片(MCU)

   1. M3是什么?
    全称是 cortex-m3,
    是英国ARM公司,一类处理器名称.
    还有类似 cortex-m0,
             cortex-m4,cortex-m7;

   2.stm32 是什么?
     STM :意法半导体微电子有限公司,生产的
     32位处理器,基于arm公司cortex-m内核系列.
     
   3.stm32分类.
     <stm32中文手册.pdf> 第2页

   4.stm32功能说明.
     <stm32中文手册.pdf> 第4页
     本次实训用到功能:
     (1)第6章   复位和时钟
     (2)第8章   GPIO
     (3)第15章  基本定时器
     (4)第9章   中断
     (5)第25章  USART通信接口
     (6)第23章  SPI接口

三.stm32 时钟控制
   <stm32中文手册.pdf> 56页 时钟树
   
   SYSCLK上电后默认是8MHz,
   可以设置寄存器倍频到72Mhz.

   1.怎样把时钟提升至72Mhz?
     (1)修改 system_stm32f10x.c 第110~115行的速度定义; 
        #define SYSCLK_FREQ_72MHz  72000000

     (2)查看启动代码中,是否调用 SystemInit 函数.
        这个函数在 system_stm32f10x.c 第212行已经写好,
        它会根据宏定义设置时钟.

   2.怎样把外设模块的时钟使能?
     所有外设由三个寄存器控制使能/不使能:
     (1)AHB外设时钟使能  RCC_AHBENR(69页)

     (2)APB2外设时钟使能  RCC_APB2ENR(70页)
        举例1:使能GPIOA组时钟
        RRC->APB2ENR |= (1<<2); //把bit2置1
         
        举例2:使能GPIOA,GPIOB组时钟
        RRC->APB2ENR |= (1<<2)|(1<<3);    
                                //把b2,b3置1
     (3)APB1外设时钟使能 RRC_APB1ENR(71页)


四.GPIO端口操作
   有8种工作模式:

   数字输入功能: 输入浮空
                输入上拉
                输入下拉 

   数字输出功能:推挽输出
                开漏输出

   模拟输入功能:电压测量,电流测量
                手机充电检测

   引脚特殊功能: USB数据线,串口数据线
               推挽式复用输出功能
               开漏式复用输出功能    

   1.怎样配置某个端口的工作模式,8选1?
     每个端口用4bit配置,
     与两个寄存器有关:
     (1)配置低寄存器  GPIOx_CRL(113页)
        配置端口0~7

     (2)配置高寄存器  GPIOx_CRH(114页)
        配置端口8~15

      详细组合,参考106页表格.
      
      举例1:把PA0配置为数字推挽输出模式
     

  GPIOA->CRL &= 0xFFFFFFF0; //清空b3~b0GPIOA->CRL |= 0x00000003; //设为0011


      举例2:把PA9配置为数字推挽输出模式

 

       GPIOA->CRH &= 0xFFFFFF0F; //清空b4~b7GPIOA->CRH |= 0x00000030; //设为0011 


   2.在数字输出模式下,怎样让端口输出高电平或低电平?
     相关寄存器:
     (1)输出数据寄存器  GPIOx_ODR(115页)
     (2)位置1寄存器     GPIOx_BSRR(115页) 
        GPIOA->BSRR = 1<<1;  //把PA1输出1,其它不变
      
     (3)位清0寄存器     GPIOx_BRR(115页) 
        GPIOA->BRR = 1<<1;  //把PA1输出0,其它不变

   3.在数字输入模式下,怎样得到端口输入的电平?
     在输入模式下,读取数据输入可得到16个引脚的电平.
     相关寄存器:
     (1)端口输入数据寄存器 GPIOx_IDR(114页)

        示例1:读取PA0~15的输入电平
              unsigned short dat;
              dat = GPIOA->IDR; 

        示例1:只关心PA1的输入电平
              unsigned short dat;

            unsigned short dat;dat = GPIOA->IDR; //if((dat&0x0002)==0x0000)//PA1==0?//{...}//if(!(dat&0x0002))//PA1==0?推荐使用//{...}if( !(dat&(1<<3)) )//PA3==0?强烈推荐使用{...}


   4.在特殊功能模式,怎样控制端口输入/输出?
     比如 USB数据收发.
     是由特殊功能寄存器自动控制端口输入/输出,
     一般向发送寄存器写,要输出;
         从接收寄存器读,要输入;  

五.实践练习
   开发硬件连接如下:
   LED1 -- 接PA1,
   K1   -- 接PB8,
   写段程序,第1次按下K1,led亮,
             再次按下K1, led灭;
预习
<JRP-2RA微型热敏打印机芯规格书 NEW.pdf>
打印机步进电机控制,走纸.








 


http://www.ppmy.cn/news/343042.html

相关文章

真的来了:ArcGIS Pro2.5可以安装使用了-安装教程(附安装包下载)

终于等到了,ArcGIS Pro2.5可以安装并yongjiu使用了!ArcGIS Pro采用Ribbon风格的设计,采用原生64位,界面简单人性,运行效率高,在制图、空间分析是有绝对的优势。本文讲解ArcGIS的安装过程,并附加ArcGISpro2.5安装包下载地址。 文章目录 1. 系统环境配置2. 安装ArcGIS pro…

极米RS Pro2和当贝X3哪个好 哪个值得入手

极米RS Pro2和当贝X3对比 1.光机参数 光机方面&#xff0c;当贝X3使用了ALPD激光荧光显示技术&#xff0c;采用激光光源&#xff0c;亮度达到3200ANSI流明&#xff1b;极米RS Pro2采用的是LED光源&#xff0c;亮度2200ANSI流明&#xff0c;从光源和亮度上来看&#xff0c;当贝X…

基于RTX30显卡的ArcGIS Pro2.8深度学习环境配置

问题描述 基于我不知道的原因&#xff0c;ArcGIS Pro2.8并不支持RTX30显卡&#xff0c;在深度学习模型训练中会出现模型精度极低&#xff0c;loss等值为nan的情况&#xff0c;具体可看ESRI讨论贴&#xff1a;https://github.com/Esri/deep-learning-frameworks/issues/17 帖中…

ArcGIS Pro2.5深度学习操作详解

ArcGIS Pro2.5深度学习操作详解---以SSD为例 1、标注对象以供深度学习2、导出训练数据进行深度学习3、训练深度学习模型4、使用深度学习检测对象 本篇文章以SSD模型为例&#xff0c;进行对象识别的推理使用&#xff0c;进行一些输入和输出的简单介绍。至于SSD模型本身算法&…

大量用户反馈 QQ 账号被盗;​AirPods Pro2 或支持查找功能;Spring Boot 2.7.1发布|极客头条

「极客头条」—— 技术人员的新闻圈&#xff01; CSDN 的读者朋友们早上好哇&#xff0c;「极客头条」来啦&#xff0c;快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 梦依丹 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 一分钟速览新闻点&…

实践课程-PRO2-Day2

实训项目<基于stm32处理器的蓝牙小票打印机> //--------------------------------------- 第2天 今日任务: 1.stm32处理器工程模板建立. 2.stm32处理器第1个程序--点亮一个灯. //--------------------------------------- 一.工程模板建立 有两种代码书写…

荣耀路由pro2插件

一个荣耀路由pro2插件,配合ipv6效果极佳 安装插件需要把荣耀路由pro2系统升级为debug版(现在官网已经找不到安装工具了,也没有开发文档了,只能找到部分介绍https://developer.huawei.com/consumer/cn/doc/31101) 相关文档:https://www.jianshu.com/p/8158dc9aafde 曾经从官网下…

【BIM+GIS】ArcGIS Pro2.8如何打开Revit模型,BIM和GIS融合?

文章目录 1. Revit2018模型绘制2. ArcGIS Pro打开revit模型3. 添加结果4. 说明5. 在 ArcGIS Pro 中升级 Revit 文件版本ArcGIS对Revit的支持: 保留建筑外观保留反映BIM结构的层信息保留属性信息支持BIM的剖切分析ArcGIS Pro2.8中,可以直接打开Revit模型(.rvt)项目文件,实现…