我是北航仪光低档垃圾暴毙货剑人,曾经是航C猪脚.咕了两个月,马上要烤期了,各位的破防水准备好了吗?现在是12月11号,再过3周就要考试了,之前一直想更新但是一直拖,但是再拖下去就暴毙了.现在我决定不继续拖了,于是有了这个合集,2个月来的R710F的上路历程.
(真的是笔记)如果配合ARM手册食用效果更佳.考试如果考一车汇编我必然挂科,不是开玩笑.
注意R710F是不带FPU的 所有的float和double都是软件处理.
R710F好像也没有硬件除法器……
在C里面写个函数:
就可以调用上面的汇编程序了
R710F的启动模式
如果是电池供电,全速工作会非常费电.
上手一个板子,理解时钟树很重要.R710F主频最大48MHz,引8MHz时钟源,过PLL(锁相环)倍频12分频2得48MHz,然后1分频给MCLK就是48MHz.如果是16MHz的时钟源就需要修改PLL配置寄存器,时序乱了CPU就不能正常工作.外设如果需要24M的时钟在PCLK处开2分频.
下面这个图是从CSDN搬的.STM32有4个时钟源,时钟树也更加复杂,但是顺着找顺着配置就能做出来开单片机必然先配置时钟,有的时候是人家SDK替你做了,自己做的时候需要看时钟树.
8个模式:
输入:高阻(模拟)输入,TTL输入 CMOS输入 带上拉和下拉的输入(注意不是单独配置上拉和下拉)TTL和CMOS是检测1的电平不一样.AIN是模拟输入
输出:推拉输出/开漏输出(OUT模式或者复用模式)
下面是STM32的IO口结构(网上找的图,不放我手绘的了),和R710F的类似.但是
更复杂,有更舒适的库函数可以用,而且可以单独配置上拉或下拉.
中断的步骤:
第一步:别的硬件发送中断请求
保护现场(硬件可以做),保护断点(可能需要软件做,否则寄存器的关键数据变了,程序跑飞了)
开中断,处理,关中断,恢复现场.
哪些事情是硬件做或者SDK软件实现好了的,哪些是需要手写的 看不同的CPU和SDK手册
R710F的中断向量表:
向量表决定了FIQ可以打断IRQ
RESET是最高级的 强制重开.

出现异常的时候R710F核心自动做的:
为什么是PC-4因为涉及流水线,设置PC为跳转到IRQ地址
R710F只有2个中断(IRQ和FIQ)通过EIC和XTI(外部中断控制器)实现中断的扩展
新一些的ARM Cortex-M板子普遍用核心自带的NVIC(nested vectored interrupt controller)处理中断
寄存器手册(纯寄存器开发要用,库函数开发可以不那么care)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/164771.html