ARM9口线的读取

#define rGPBCON    (*(volatile unsigned *)0x56000010) //Port B control 控制寄存器地址

#define rGPBDAT (*(volatile unsigned *)0x56000014) //Port B data 数据地址
#define rGPBUP (*(volatile unsigned *)0x56000018) //Pull-up control B

寄存器地址定义

GPB--0对应为Z轴零位cZ_Zero输入口,高有效;

配置为输入

引脚定义说明:

//===* PORT B GROUP  11个引脚
//Ports : GPB10 GPB9 GPB8 GPB7 GPB6 GPB5 GPB4 GPB3 GPB2 GPB1 GPB0
//Signal : nXDREQ0 nXDACK0 nXDREQ1 nXDACK1 nSS_KBD nDIS_OFF L3CLOCK L3DATA L3MODE nIrDATXDEN Keyboard
//Setting: INPUT OUTPUT INPUT OUTPUT INPUT OUTPUT OUTPUT OUTPUT OUTPUT OUTPUT OUTPUT
//Binary : 00 , 01 00 , 01 00 , 01 01 , 01 01 , 01 01

配置输入输出

状态寄存器配置 10 1001 0101 0110 0101 0100

rGPBCON=0x295654;//100

这样就把GPB0配置为了输入

使用:。。。

m = rGPGDAT;//_RdHexBit(con_sel1);
m = (m & 0x2000);
if (m == 0x2000)
{
  delayx10us(5);
  m = rGPGDAT;//_RdHexBit(con_sel1);
  m = (m & 0x2000);
  if(m == 0x2000)
  {
   
  }
}

时间: 2024-07-30 19:57:40

ARM9口线的读取的相关文章

准双向口、开漏输出、推挽输出结构介绍

最近画的一块板子中用到了六路同相门芯片74HC07作为电平转换,将FPGA产生的3.3V信号转换为5V,但是没有注意到74HC07的输出是开漏结构(以为给74HC07一个5V电源就可以将输入的3.3V电平转换为5V电平输出--囧--,好吧我承认我是菜鸟),结果可想而知,板子拿回来完全不能用,只好用飞线给74HC07的几个输出口接了1K的上拉电阻,这样板子才正常工作了,但是板子上接了一堆的飞线,怎么看都觉得不爽,哎,都是这个开漏结构给害的-- 于是乎,在做下一版之前,我仔细研究了一下这个开漏输出结

[stm32] 一个简单的stm32vet6驱动2.4寸240X320的8位并口tft屏DEMO

书接上文: 最近在研究用低速.低RAM的单片机来驱动小LCD或TFT彩屏实现动画效果 首先我用一个16MHz晶振的m0内核的8位单片机nRF51822尝试驱动一个1.77寸的4线SPI屏(128X160), 发现,刷一屏大约要0.8s左右的时间, 具体收录在<1.一个简单的nRF51822驱动的天马4线SPI-1.77寸LCD彩屏DEMO>中 觉得,如果用72MHz的STM32也许效果会好很多 于是在stm32上做了个类似的版本, 具体收录在<一个简单的stm32vet6驱动的天马4线S

node.js 读取文件--createReadStream

createReadStream 是fs模块里面读流的一个方法 这个方法基于fs模块的,所以我们先要引进fs模块 let fs=require("fs"); createReadStream 读取文件,有两个参数 第一个参数,读取文件的路径 第二个参数 highWaterMark 最高水位线,默认最多读取64K 读取的类容都是buffer类型返回的结果是一个可读流的实例,是非流动模式---我们最后要转为流动模式 先要定义一下我们读流的变量,假设我们有一个1.txt文件,我们要读取1.t

avaya 线序

前2天在做公司的一个项目时碰到一个打线的情况,到最后原来是线序的问题 现在就来普及下线序,说不定对那些还没有用上ip或数字电话的老模拟线路有点用 一般情况下,大对数线用的都是25对线,匹配模拟分机板的24个口,25不用,线序为 但有时候我们会碰到16口的模拟分机板,那这时候你就要注意了 如 TN2215 16口模拟分机板,它使用的线序就是 1,2,3,4,9,10,11,12,13,14,15,16,21,22,23,24 如果这个时候你按照正常的24口线序去做,最后肯定出问题 顺便提一下TN2

[stm32] NRF24L01+USART搞定有线和无线通信

前言 一般进行远程监控时,2.4G无线通信是充当远程数据传输的一种方法.这时就需要在现场部分具备无线数据发送装置,而在上位机部分由于一般只有串口,所以将采集到的数据送到电脑里又要在上位机端设计一个数据接收的适配器.这里基于stm32分别设计了现场部分和适配器部分,这里只是基本通信功能实现的讲解,一些复杂的技术比如加密.可靠等要根据具体的应用来设计~ 总体说明 这里采用stm32作为MCU,采用nRF24L01作为2.4G通信模块.其中适配器中仅仅采用了USART和NRF24L01两个主要部分,负

ISO14229系列之一:简介

作者:autogeek 原文链接:http://www.cnblogs.com/autogeek/p/4458591.html 前言 由于工作中经常用到ISO-14229,因此决定对该协议做个总体介绍和总结,既是对自己学习的总结,也能够给初次涉及该协议的朋友一个参考. 首先简要介绍什么是ISO-14229,至于可以在网上找到的大篇理论介绍我就略过不讲了,有兴趣可以自行搜索.简单的说,它就是一个用于汽车行业诊断通信的需求规范,它只规定了与诊断相关的服务需求,并没有涉及通信机制,因此要实现一个完整的

C51端口结构和工作原理(转)

一.P0端口的结构及工作原理 P0端口8位中的一位结构图见下图:   由上图可见,P0端口由锁存器.输入缓冲器.切换开关.一个与非门.一个与门及场效应管驱动电路构成.再看图的右边,标号为P0.X引脚的图标,也就是说P0.X引脚可以是P0.0到P0.7的任何一位,即在P0口有8个与上图相同的电路组成. 下面,我们先就组成P0口的每个单元部份跟大家介绍一下: 先看输入缓冲器:在P0口中,有两个三态的缓冲器,在学数字电路时,我们已知道,三态门有三个状态,即在其的输出端可以是高电平.低电平,同时还有一种

字符识别OCR研究一(模板匹配&amp;amp;BP神经网络训练)

摘 要 在MATLAB环境下利用USB摄像头採集字符图像.读取一帧保存为图像.然后对读取保存的字符图像,灰度化.二值化,在此基础上做倾斜矫正.对矫正的图像进行滤波平滑处理,然后对字符区域进行提取切割出单个字符.识别方法一是採用模板匹配的方法逐个对字符与预先制作好的字符模板比較,假设结果小于某一阈值则结果就是模板上的字符:二是採用BP神经网络训练.通过训练好的net对待识别字符进行识别.最然后将识别结果通过MATLAB下的串口工具输出51单片机上用液晶显示出来. keyword: 倾斜矫正.字符切

[SPI]SPI协议详解

转自:https://my.oschina.net/freeblues/blog/67400 1.SPI协议简介 1.1.SPI协议概括 SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口.是Motorola首先在其MC68HCXX系列处理器上定义的.SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间.SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了