新手请教——STM32中FSCM的一些问题,请各位帮帮忙解答

huinibi7062 2018-03-16 07:42:10
最近在学习原子的STM32
里面FSMC控制LCD有一些疑问

读程序时我会按计算机的逻辑把程序在大脑运行一遍
可关于FSMC的使用怎么也想不明白



void LCD_WR_REG(u16 regval)
{
LCD->LCD_REG=regval;
}

1.为什么调用这个函数,FSMC就会自动生成时序,FSMC使能后是从什么时候开始工作的
也就是说这个函数和FSMC的连接点在哪?

2.写寄存器序号是什么意思?




3.写寄存器和写寄存器序号有什么不同?
...全文
483 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
HScholar 2018-03-22
  • 打赏
  • 举报
回复 2
1、FSMC可变静态存储控制器,在使能之后开始运行。寄存器就像是一个控制电的开关,在寄存器里写1就是打开开关,写0就是关闭开关(这个根据不同的芯片定义不同)。那个函数就像是写寄存器(其实是封装好的函数~~),所以函数一运行就是写了寄存器,给外设(FSMC)电,外设(FSMC)就开始运行。函数和外设(FSMC)的链接点是寄存器的地址,函数中每一个变量往后找都是一个个不同的地址。比如说一个芯片有100个引脚,每个地址就是相对应引脚的名字,所以往寄存器写1就是打开芯片引脚的开关。 2、每个寄存器就像是一个储物柜,储存器号就是给储物柜编号。一般都是段地址加位地址,就是哪组柜子(段地址)里的哪一个(位地址)。 3、写寄存器号是找储物柜(寄存器)的位置,写寄存器是打开储物柜里的开关。
高性能RISC CPU: • 仅需学习49 条指令: - 除了跳转指令以外,所有指令都是单周期的 • 工作速度: - DC- 32 MHz 振荡器/ 时钟输入 - DC- 125 ns 指令周期 • 可寻址最大4 KB 的线性程序存储空间 • 可寻址最大256 字节的线性数据存储空间 • 带有自动现场保护的断功能 • 带有可选上溢/ 下溢复位的16 级深硬件堆栈 • 直接、间接和相对寻址模式: - 两个完全16 位文件选择寄存器(File Select Register, FSR) - FSR可以读取程序和数据存储器 灵活的振荡器结构: • 精确的32 MHz 内部振荡器模块: - 出厂时精度已校准到±1%,典型值 - 可通过软件选择频率范围:31 kHz 至32 MHz • 31 kHz 低功耗内部振荡器 • 4 种晶振模式,频率最高为32 MHz • 三种外部时钟模式,频率最高为32 MHz • 4 倍频锁相环(Phase Lock Loop, PLL) • 故障保护时钟监视器(Fail-Safe Clock Monitor, FSCM): - 当外设时钟停止时可使器件安全关闭 • 双速振荡器启动 • 参考时钟模块: - 可编程时钟输出频率和占空比 单片机特性: • 1.8V-5.5V 工作电压——PIC16F1824/1828 • 1.8V-3.6V 工作电压——PIC16LF1824/1828 • 可在软件控制下自编程 • 上电复位(Power-on Reset,POR)、上电延时定 时器(Power-up Timer,PWRT)和振荡器起振定 时器(Oscillator Start-up Timer, OST) • 可编程欠压复位(Brown-out Reset, BOR) • 扩展型看门狗定时器(Watchdog Timer, WDT) • 通过两个引脚进行在线串行编程(In-Circuit Serial Programming™, ICSP™) • 通过两个引脚进行在线调试(In-Circuit Debug,ICD) • 增强型低电压编程(Low-Voltage Programming, LVP) • 工作电压范围: - 1.8V-5.5V (PIC16F1824/1828) - 1.8V-3.6V (PIC16LF1824/1828) • 可编程代码保护 • 节能休眠模式 采用nanoWatt XLP 的超低功耗管理 PIC16LF1824/1828: • 休眠模式:20 nA • 看门狗定时器:500 nA • Timer1 振荡器:32 kHz 时为600 nA 模拟特性: • 模数转换器(Analog-to-Digital Converter,ADC) 模块: - 10位分辨率,最多12 路通道 - 自动采集功能 - 可在休眠模式下进行转换 • 模拟比较器模块: - 两个轨到轨模拟比较器 - 功耗模式控制 - 可通过软件控制滞后 • 参考电压模块: - 具有1.024V、2.048V 和4.096V 输出电压的固 定参考电压(Fixed Voltage Reference,FVR) - 带有正负参考电压选择的5位轨到轨电阻式DAC 外设特性: • 最多17 个I/O 引脚和1 个仅用作输入的引脚: - 高灌/ 拉电流:25 mA/25 mA - 可编程弱上拉 - 可编程电平变化断引脚 • Timer0:带有8 位预分频器的8 位定时器/ 计数器 • 增强型Timer1: - 带有预分频器的16 位定时器/ 计数器 - 外部门控输入模式 - 专用的低功耗32 kHz 振荡器驱动器 • 3 个Timer2 型模块:带有8 位周期寄存器、预分频 器和后分频器的8 位定时器/ 计数器 • 两个捕捉/ 比较/PWM (Capture/Compare/PWM, CCP)模块 • 两个增强型CCP (ECCP)模块: - 可通过软件选择时基 - 自动关闭和自动重启 - PWM转向 • 带有SPI 和I2CTM 的主同步串行端口(Master Synchronous Serial Port, MSSP): - 7位地址掩码 - SMBus/PMBusTM 兼容 • 增强型通用同步/ 异步收发器(Enhanced Universal Synchronous Asynchronous Receiver Transmitter, EUSART)模块 • mTouch™ 传感振荡器模块: - 最多12 路输入通道 • 数据信号调制器模块: - 可选择调制器和载波源
高性能RISC CPU: • 仅需学习49 条指令: - 除了跳转指令以外,所有指令都是单周期的 • 工作速度: - DC- 32 MHz 振荡器/ 时钟输入 - DC- 125 ns 指令周期 • 可寻址最大8 KB 的线性程序存储空间 • 可寻址最大256 字节的线性数据存储空间 • 带有自动现场保护的断功能 • 带有可选上溢/ 下溢复位的16 级深硬件堆栈 • 直接、间接和相对寻址模式: - 两个完全16 位文件选择寄存器(File Select Register, FSR) - FSR可以读取程序和数据存储器 灵活的振荡器结构: • 精确的32 MHz 内部振荡器模块: - 出厂时精度已校准到±1%,典型值 - 可通过软件选择频率范围:31 kHz 至32 MHz • 31 kHz 低功耗内部振荡器 • 4 种晶振模式,频率最高为32 MHz • 三种外部时钟模式,频率最高为32 MHz • 4 倍频锁相环(Phase Lock Loop, PLL) • 故障保护时钟监视器(Fail-Safe Clock Monitor, FSCM): - 当外设时钟停止时可使器件安全关闭 • 双速振荡器启动 • 参考时钟模块: - 可编程时钟输出频率和占空比 单片机特性: • 1.8V-5.5V 工作电压——PIC16F1824/1828 • 1.8V-3.6V 工作电压——PIC16LF1824/1828 • 可在软件控制下自编程 • 上电复位(Power-on Reset,POR)、上电延时定 时器(Power-up Timer,PWRT)和振荡器起振定 时器(Oscillator Start-up Timer, OST) • 可编程欠压复位(Brown-out Reset, BOR) • 扩展型看门狗定时器(Watchdog Timer, WDT) • 通过两个引脚进行在线串行编程(In-Circuit Serial Programming™, ICSP™) • 通过两个引脚进行在线调试(In-Circuit Debug,ICD) • 增强型低电压编程(Low-Voltage Programming, LVP) • 工作电压范围: - 1.8V-5.5V (PIC16F1824/1828) - 1.8V-3.6V (PIC16LF1824/1828) • 可编程代码保护 • 节能休眠模式 采用nanoWatt XLP 的超低功耗管理 PIC16LF1824/1828: • 休眠模式:20 nA • 看门狗定时器:500 nA • Timer1 振荡器:32 kHz 时为600 nA 模拟特性: • 模数转换器(Analog-to-Digital Converter,ADC) 模块: - 10位分辨率,最多12 路通道 - 自动采集功能 - 可在休眠模式下进行转换 • 模拟比较器模块: - 两个轨到轨模拟比较器 - 功耗模式控制 - 可通过软件控制滞后 • 参考电压模块: - 具有1.024V、2.048V 和4.096V 输出电压的固 定参考电压(Fixed Voltage Reference,FVR) - 带有正负参考电压选择的5位轨到轨电阻式DAC 外设特性: • 最多17 个I/O 引脚和1 个仅用作输入的引脚: - 高灌/ 拉电流:25 mA/25 mA - 可编程弱上拉 - 可编程电平变化断引脚 • Timer0:带有8 位预分频器的8 位定时器/ 计数器 • 增强型Timer1: - 带有预分频器的16 位定时器/ 计数器 - 外部门控输入模式 - 专用的低功耗32 kHz 振荡器驱动器 • 3 个Timer2 型模块:带有8 位周期寄存器、预分频 器和后分频器的8 位定时器/ 计数器 • 两个捕捉/ 比较/PWM (Capture/Compare/PWM, CCP)模块 • 两个增强型CCP (ECCP)模块: - 可通过软件选择时基 - 自动关闭和自动重启 - PWM转向 • 带有SPI 和I2CTM 的主同步串行端口(Master Synchronous Serial Port, MSSP): - 7位地址掩码 - SMBus/PMBusTM 兼容 • 增强型通用同步/ 异步收发器(Enhanced Universal Synchronous Asynchronous Receiver Transmitter, EUSART)模块 • mTouch™ 传感振荡器模块: - 最多12 路输入通道 • 数据信号调制器模块: - 可选择调制器和载波源

27,373

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧