Chinaunix

标题: 请问,c 程序中,像 PINSEL0=0X00000000;这样的指令怎么回事呀? [打印本页]

作者: liuqionline    时间: 2012-03-22 23:13
标题: 请问,c 程序中,像 PINSEL0=0X00000000;这样的指令怎么回事呀?
像这样的:
  1. int main(void)
  2. {
  3.     PINSEL0=0X00000000;
  4.     IO0DIR=............
复制代码
PINSEL0是什么意思呀,
PINSEL0=0X00000000;这个指令和怎么和端口有关系的,PINSEL0是变量还是宏呀,
想了好多天了,还是不明白,对变量赋值怎么会写端口的,
如果PINSEL0是宏的话,那么最初定义是什么呀?

Orz Orz Orz
作者: cjdao    时间: 2012-03-23 08:30
如果编译没问题,从main包含的头文件找找看,一般来讲应该是个宏。也有可能是你用的编译器定义了它。
作者: cjdao    时间: 2012-03-23 08:34
是宏的话,有可能是类似这样的形式  #define PINSEL0 *(volatile long *)0x12345678
作者: 相逢的日子    时间: 2012-03-23 13:29
没啥意外的话如楼上所说,这是一个宏,代表的是一个地址,赋值就是给这个地址上的内存单元或者硬件资源赋值
作者: zyrlau    时间: 2012-03-28 15:05
一般来说,它确实是一个宏,而这个宏定义的是某个端口的寄存器的地址,所以当向该宏写的时候,就会驱动相应的端口。
作者: brant_lin    时间: 2012-03-29 13:08
请问,宏能这样赋值吗?
作者: 追寻de神话    时间: 2012-03-30 19:28
设置GPIO模式
作者: shangshipei    时间: 2012-04-14 19:21
引脚功能选择寄存器。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2