Board logo

标题: 何谓nios中的外设的偏移地址? [打印本页]

作者: jmlovej    时间: 2006-6-22 10:40     标题: 何谓nios中的外设的偏移地址?

  在nios的外设中,每一个外设都有自己的基地址,还有偏移地址,


 那么这个偏移地址仅仅就是基地址加上偏移量而已?


 #define  pio_base      0x00001920


#define  pio_offset_1   0x00001921 


 比如说 *(unsigned volatile int *)pio_base是对基地址置数,


那么*(unsigned volatile int *)pio_offset_1 就是对偏移地址为1的地址置数,


比如我想对串口的register置数,我不想用nios自带的函数,这样应该也可以吧?


不知道那位高手能把串口的编程流程说一下阿,最好能够详细一点,毕竟以前没有学过单片机阿! 

[此贴子已经被作者于2006-6-22 10:40:56编辑过]


作者: caotingshui    时间: 2006-6-22 17:07

你说的不用nios自带的函数,是指

#define IOWR_ALTERA_AVALON_UART_TXDATA(base, data)    IOWR(base, 1, data)

这类函数吗?

不知道你是否调通了串口,我原来也用过单片机,现在调NIOS II的串口就是不行,我用的是

IOWR_ALTERA_AVALON_UART_TXDATA(base, data)这个函数,想让串口不停的发数据但是我在电脑上却接受不到数据,我在NIOS II的调试状态下可以看到数据已经写入TXDATA寄存器中,但为什么数据发不出来那?不知你是否遇到过同样的问题,期待与你讨论!

[此贴子已经被作者于2006-6-22 17:07:01编辑过]


作者: jmlovej    时间: 2006-6-22 18:07

我用这个nios自带的函数,做通了,我觉得你这样的情况,你可以测一下fpga的端口有没有出数据,如果有数据,那就是外部连接或者是串口调试工具没有配置好!
如果没有数据,我想你就要从sopc那一步开始从新来一下啊!

还有在c语言是,你有没有加 uart的头函数阿!

[此贴子已经被作者于2006-6-22 18:07:44编辑过]


作者: kzw    时间: 2006-6-26 18:14

串口又没有发数据,用示波器测一测数据输出是否有,逐次找出问题。在nios的外设中,每一个外设都有自己的基地址,还有偏移地址,指的是每一个外设不止一个寄存器,所以用了
基地址和偏移地址。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0