当前位置: 首页 > ds >正文

利用m0改造循迹模块处理笔记00

用g3507芯片,处理循迹,用adc读取,用gpio输出,目标是16个通道ADC。
一、技术目标:
1、检测16个输入模拟量通道,用内置的adc进行转换,这里得到17个通道。
2、人机交互:
4个LED状态指示那个通道;
一个LED指示是标定模式,还是常规模式,标定模式LED点亮,常规模式LED熄灭。
6个按键调节标定值;
2个引脚,软件i2c显示OLED屏幕;
2个软件,软件i2c,和at24c02进行交互,将标定结果保存;

3、输出:
17个IO输出;
一个串口输出;
一个I2C输出;
一个spi输出;

1个定时器作为程序节拍。

二、步骤
上电。
如果需要调节,上电5秒内长按K1,进入调节模式,如果不需要调节,那么5秒过后自动调用at24c02的数据作为标定比较值。5秒之内,OLED显示倒计时,4个闪烁灯短闪烁,提示等待选择;
OLED显示16个通道的adc值。
12864
128/8=16
1234567890123456
xxx yyy xxx yyy,4个通道,每行显示4个通道,4行显示16个通道。
再加一行,显示模式,是标定模式,还是使用模式,按键adc通道。
标定模式-通道-当前adc-标定ADC
A(B)-X(0-F)-YYY-ZZZ
如果是标定模式。没有OLED的情况下,用5个LED,显示那个通道。

按键功能
K1:长按一次,进入标定模式,标定模式下,长按第二次,退出标定模式;
K2: 在标定模式下,选择通道;按下n次,选择通道0-15;用4个LED指示通道。
硬件设计上,0代表点亮,1代表熄灭;
0000---------ADC0
0001---------ADC1
0010---------ADC2
0011---------ADC3
0100---------ADC4
0101--------ADC5

K3: 在标定模式下,按下一次,对选定通道,数据+1,数据范围看adc的位数,如果是8位adc,那么数据范围0-255。长按,数据连续-
设置adc精度是8位,数据是0-255范围内;
K4:在标定模式下,按下一次,对选定通道,数据-1,或者减1,数据范围0-255;
长按,数据连续-,
K5:长按,保存数据到at24c02;需要长按才能保存,防止误操作;同时退出标定模式。
K6:长按,不保存数据;同时退出标定模式。

配置

  • GPIOA:
    • Open-Drain Output: PA0
    • Open-Drain Output: PA1
    • High-Drive Output: PA28
    • Standard Output: PA29
    • Standard Output: PA30
    • High-Drive Output: PA31
    • Standard Output: PA3
    • Standard Output: PA4
    • Standard Output: PA6
    • Standard Output: PA7
    • Standard Output: PA8
    • High-Speed Output: PA9
  • GPIOB:
    • Standard Input with internal pull-up: PB21
    • Standard Output: PB13
    • Standard Output: PB14
    • Standard Output: PB15---------------------------------16个LED
    • Standard Output: PB16-------------------------LED模式,点亮标定,熄灭常规模式
    • Standard Output: PB22
    • Standard Output: PB23
    • Standard Output: PB26
    • Standard Output: PB27-------------------LED通道指示
    • Standard Output: PB0
    • Standard Output: PB1
    • Standard Output: PB4
    • Standard Output: PB5
    • Standard Output: PB6
    • Standard Output: PB7-------------------------按键6个
    • Standard Output: PB8
    • Standard Output: PB9------------------------OLED
    • Standard Output: PB10
    • Standard Output: PB11----------------------AT24C02
    • Standard Output: PB12----------------------预留
  • SYSCTL
  • TIMA0
  • I2C1:
    • I2C Serial Data line (SDA): PB3
    • I2C Serial Clock line (SCL): PB2
  • UART0:
    • RX Pin: PA11
    • TX Pin: PA10
  • SPI0:
    • SPI SCLK (Clock): PA12
    • SPI PICO (Peripheral In, Controller Out): PA5
    • SPI POCI (Peripheral Out, Controller In): PA13
    • SPI CS0 (Chip Select 0): PA2
  • ADC0:
    • ADC12 Channel 0 Pin: PA27
    • ADC12 Channel 1 Pin: PA26
    • ADC12 Channel 2 Pin: PA25
    • ADC12 Channel 3 Pin: PA24
    • ADC12 Channel 4 Pin: PB25
    • ADC12 Channel 5 Pin: PB24
    • ADC12 Channel 6 Pin: PB20
    • ADC12 Channel 7 Pin: PA22
    • ADC12 Channel 8 Pin: PA21
    • ADC12 Channel 12 Pin: PA14
  • ADC1:
    • ADC12 Channel 0 Pin: PA15
    • ADC12 Channel 1 Pin: PA16
    • ADC12 Channel 2 Pin: PA17
    • ADC12 Channel 3 Pin: PA18----------------BSL,BOOT
    • ADC12 Channel 4 Pin: PB17
    • ADC12 Channel 5 Pin: PB18
    • ADC12 Channel 6 Pin: PB19
  • VREF:
    • VREF Positive (VREF+): PA23
  • EVENT
  • MATHACL
  • BOARD:
    • Debug Clock: PA20-------------------SWCLK
    • Debug Data In Out: PA19------------SWDIO

在这里插入图片描述

在这里插入图片描述

http://www.xdnf.cn/news/17264.html

相关文章:

  • 智慧酒店:科技赋能下的未来住宿新体验
  • 人工智能领域、图欧科技、IMYAI智能助手2025年7月更新月报
  • RabbitMQ延时队列的两种实现方式
  • NLP自然语言处理 03 Transformer架构
  • 数据集相关类代码回顾理解 | sns.distplot\%matplotlib inline\sns.scatterplot
  • 翻译的本质:人工翻译vs机器翻译的核心差异与互补性
  • 自然语言处理×第三卷:文本数据分析——她不再只是贴着你听,而开始学会分析你语言的结构
  • 最长连续序列(每天刷力扣hot100系列)
  • FANCU发那科机器人双脉冲焊接省气
  • 【STM32】HAL库中的实现(三):PWM(脉冲宽度调制)
  • 信用机制的发展与货币演进
  • 机器学习算法系列专栏:决策树算法(初学者)
  • golang的切片
  • 电子秤利用Websocket做为Client向MES系统推送数据
  • python的教务管理系统
  • 利用链上数据进行数字资产量化因子发现
  • 【Day 16】Linux-性能查看
  • Linux内核C语言代码规范
  • LangGraph学习笔记 — LangGraph中State状态模式
  • 数据安全治理——解读数据安全治理与评估服务业务介绍【附全文阅读】
  • oelove奥壹新版v11.7旗舰版婚恋系统微信原生小程序源码上架容易遇到的几个坑,避免遗漏参数白屏显示等问题
  • 相机拍摄的DNG格式照片日期如何修改?你可以用这款工具修改
  • vue3 子组件和子组件的通讯 mitt
  • 分布式选举算法:Bully、Raft、ZAB
  • 私有云盘新体验:FileRise在cpolar的加持下如何让数据管理更自由?
  • golang实现支持100万个并发连接(例如,HTTP长连接或WebSocket连接)系统架构设计详解
  • 第13届蓝桥杯Scratch_选拔赛_真题2021年11月27日
  • Guava 与 Caffeine 本地缓存系统详解
  • 2048小游戏
  • 【java】大数据insert的几种技术方案和优缺点