STM 8s 外部中断寄存器无法写入
虽然说单片机开发就是对手册的研究,但是开发过程中,还是要做些笔记的,方便以后注意那些坑.
工作要求所以接触了一下STM328s00f3这个芯片,配置外部中断的时候遇到了一点问题
PS:IAR这个开发软件真不好用.
外部中断:
配置PD口的外部中断是,发现EXTI_CR1寄存器无法写入.于是开始寻找原因.
在配置EXTI_CR1寄存器时看见"
| 这些位仅在CC寄存器的I1和I0位都为1(级别3)时才可以写入。这些位定义端口D 的 中断触发位 |
"这句话,但是CC寄存器要如何配置呢?

首先来看看这个寄存器的描述,默认值是符合前面的要求的,并且I1 和 I0是rw的,于是尝试写入,但是没有找到地址的相关说明.


#ifdef __cplusplus
extern "C"
{
#endif __intrinsic void __enable_interrupt(void); /* RIM */
__intrinsic void __disable_interrupt(void); /* SIM */ __intrinsic __istate_t __get_interrupt_state(void);
__intrinsic void __set_interrupt_state(__istate_t); /* Special instruction intrinsics */
__intrinsic void __no_operation(void); /* NOP */
__intrinsic void __halt(void); /* HALT */
__intrinsic void __trap(void); /* TRAP */
__intrinsic void __wait_for_event(void); /* WFE */
__intrinsic void __wait_for_interrupt(void); /* WFI */ /* Bit manipulation */
__intrinsic void __BCPL(unsigned char __near *, unsigned char);
__intrinsic void __BRES(unsigned char __near *, unsigned char);
__intrinsic void __BSET(unsigned char __near *, unsigned char); #ifdef __cplusplus
}
#endif
后来在库文件中找到了__enable_interrupt(); 只需要在这个函数之前配置外部中断寄存器就好了.
Fun_HardInit_Hall(); //hall硬件初始化
// 开总中断
__enable_interrupt();
哈哈,有点水哈 没有从寄存器说明真正的原因,以后查到了,再更新吧,IAR也没有寄存查看的功能SWIM的调试调试真的好难用.
STM 8s 外部中断寄存器无法写入的更多相关文章
- html外部文件读取/写入
1.文件的读取 外部文件读取控件: <input type="file" id="file_jquery" onchange="file_jqu ...
- STM32学习笔记(八) SPI总线(操作外部flash)
1. SPI总线简介 SPI全称串行外设接口,是一种高速,全双工,同步的外设总线:它工作在主从方式,常规需要至少4根线才能够正常工作.SPI作为基本的外设接口,在FLASH,EPPROM和一些数字通讯 ...
- Tiny4412之外部中断
一:外部中断 在之前我们学习按键驱动的时候,我们检测按键有没有按下是通过轮循的方式(也就是我们说的死循环),这样虽然可以检测实现按键,但太浪费系统资源了,不论我们按键中断有没有发生,cpu都要一直进行 ...
- 外部事件/中断的区别及EXTI->SWIER的用途
EXTI_SWIER作用:允许我们通过程序控制就可以启动中断/事件线 1.产生事件的线路最终的产物是一个脉冲信号,这个脉冲信号可以给其他外设电路使用,比如定时器TIM.模拟数字转换器ADC等等. 2. ...
- Hbase写入量大导致region过大无法split问题
最近在线上往hbase导数据,因为hbase写入能力比较强,没有太在意写的问题.让业务方进行历史数据的导入操作,中间发现一个问题,写入速度太快,并且业务数据集中到其中一个region,这个region ...
- STM32之外部中断
图1.0 图1.1 中断控制器支持23条中断线,其中16条是IO管脚中断线,分别是EXTI0~EXTI15: 图 1.2 另外七根中断线如下图: 中断线和管脚的对应关系:EXTI0~EXTI15 和 ...
- 使用openstack部署云计算服务环境
环境: 系统 硬盘 IP hostname redhat 7 sda 20G 192.168.0.70 openstack.com 64位 sdb 20G 配置网卡 [root@opens ...
- 第42章 电源管理—实现低功耗—零死角玩转STM32-F429系列
第42章 电源管理—实现低功耗 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fir ...
- Java-输入输出流
JAVA-输入输出流 1.输入输出: 输入/输出(Input/Output)是指对某个设备或环境进行数据的输入或输出.任何语言都有输入输出的功能,在Java程序中,是通过流来完成输入和输出的,它通过J ...
随机推荐
- 简学Python第七章__class面向对象高级用法与反射
Python第七章__class面向对象高级用法与反射 欢迎加入Linux_Python学习群 群号:478616847 目录: Python中关于oop的常用术语 类的特殊方法 元类 反射 一.P ...
- css2.1实现图片添加阴影效果
盒子里面放了img标签,盒子浮动后,盒子的背景图片(就是阴影图片)会应用图片的宽高. <!DOCTYPE html> <html lang="en"> &l ...
- 关于SQL的一些小知识
在代码中调用存储过程的时,必须先测试存储过程,存储过程测试成功之后再去java中去调用!!@!@#!@!@! 以后自己写的存储过程写一个本地保存一个.!~~~!!(这个很关键) 以后在代码中的SQL都 ...
- sql语句实现累计数
前言,要实现按某个字段统计,直接用count/sum……group by语句就可以实现,但是要实现累计统计,比如按时间累计统计,从12月3号开始累计数据,比如:4号统计3.4号的数据,5号统计3.4. ...
- 优雅高效的MyBatis-Plus工具快速入门使用
目前正在维护的公司的一个项目是一个ssm架构的java项目,dao层的接口有大量数据库查询的方法,一个条件变化就要对应一个方法,再加上一些通用的curd方法,对应一张表的dao层方法有时候多达近20个 ...
- java 基础知识七 装箱和拆箱
java 基础知识七 装箱和拆箱 数据类型可分为两大种,基本数据类型(值类型)和类类型(引用数据类型) 装箱:把基本类型用他们相对应的引用类型包装起来,使他们可以具有对象的特质 基本数据类型 ...
- python urllib模块
1.urllib.urlopen(url[,data[,proxies]]) urllib.urlopen(url[, data[, proxies]]) :创建一个表示远程url的类文件对象,然后像 ...
- 浩哥解析MyBatis源码(八)——Type类型模块之TypeAliasRegistry(类型别名注册器)
原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/6705769.html 1.回顾 前面几篇讲了数据源模块,这和之前的事务模块都是enviro ...
- Windows 解决mysql忘记密码怎么办?
MySQL有时候忘记密码了怎么办?我给出案例和说明!一下就解决了! Windows下的实际操作如下 1.关闭正在运行的MySQL. 2.打开DOS窗口,转到mysql\bin目录. 3.输入mysql ...
- 《Python自然语言处理》第二章 学习笔记
import nltk from nltk.book import * nltk.corpus.gutenberg.fileids() emma = nltk.corpus.gutenberg.wor ...