在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编辑过]
你说的不用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编辑过]
我用这个nios自带的函数,做通了,我觉得你这样的情况,你可以测一下fpga的端口有没有出数据,如果有数据,那就是外部连接或者是串口调试工具没有配置好!
如果没有数据,我想你就要从sopc那一步开始从新来一下啊!
还有在c语言是,你有没有加 uart的头函数阿!
[此贴子已经被作者于2006-6-22 18:07:44编辑过]
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |