?? 7個(gè)范例程序的測(cè)試結(jié)果.txt
字號(hào):
7個(gè)范例程序的測(cè)試結(jié)果
1、字符模式設(shè)備范例.txt
--上位機(jī)串口波特率115200,在硬件上全速運(yùn)行程序后控制臺(tái)收到:
This application will printf 'Hello world' to uart1!
串口上收到:
hello world
2、Alarm范例.txt
--在my_alarm_callback()函數(shù)return前,加入了一條printf("CallCounter's Value is %d!\n",CallCounter);,在硬件上全速運(yùn)行程序后收到:
CallCounter's Value is 1!
3、ISR范例.txt
--在硬件上全速運(yùn)行程序后收到:
ISR Demo!
Timer interrupt has occurred for: 0 times
Timer interrupt has occurred for: 1 times
Timer interrupt has occurred for: 2 times
Timer interrupt has occurred for: 3 times
…………
4、HighResTimer范例.txt
--在硬件上全速運(yùn)行程序后收到:
Elapsed time in func1 = 993 us
Elapsed time in func1 = 4830 us
5、DMA范例.txt
--在SOPC Builder中建一個(gè)RAM型On-chip_memory命名為onchip_RAM_4K(也可取其它名),建一個(gè)DMA命名為dma,將dma的read_master、write_master與onchip_RAM_4K連接.在硬件上全速運(yùn)行程序后收到:
DMA Demo(Memory to Memory)!
Create the transmit channel successfully!
Create the receive channel successfully!
Post the transmit request successfully!
Post the receive request successfully!
6、Simple Flash Access驅(qū)動(dòng)范例.txt
--在硬件上全速運(yùn)行程序后收到:
Simple Flash Access Demo.
Open Flash Device Successfully.
Write Flash Device Successfully.
Read Flash Device Successfully.
Verify Successfully!
7、Fine-gained Flash Access驅(qū)動(dòng)范例.txt
--在硬件上全速運(yùn)行程序后收到:
Fine-gained Flash Access Demo.
Open Flash Device Successfully.
Erase Flash Device Successfully.
Write Flash Device Successfully.
Read Flash Device Successfully.
Verify Successfully!
Alarm范例程序經(jīng)過(guò)修改之后,可以看到重復(fù)進(jìn)my_alarm_callback()函數(shù)了
控制臺(tái)顯示結(jié)果為:
my_alarm_callback has been called for: 0 times
my_alarm_callback has been called for: 1 times
my_alarm_callback has been called for: 2 times
my_alarm_callback has been called for: 3 times
my_alarm_callback has been called for: 4 times
…………
/*
* 一、功能: Alarm演示代碼修改版.
*
* 二、相關(guān)說(shuō)明:
* 由于NiosII IDE的ISS(Instruction Set Simulation)支持JTAG_UART和定時(shí)
* 器的仿真功能,所以該源碼可以運(yùn)行在ISS模式下,而無(wú)須任何硬件開(kāi)發(fā)板的支持.
*
* 三、運(yùn)行前提:
* 1. 選擇包含JTAG_UART和具有周期中斷功能的定時(shí)器的NiosII系統(tǒng)(ptf文件);
* 2. 在系統(tǒng)庫(kù)屬性中完成下面的配置:
* (1) 將stdout映射到JTAG_UART;
* (2) 將具有周期中斷功能的定時(shí)器映射為系統(tǒng)時(shí)鐘;
*
*/
#include <stdio.h>
#include "sys/alt_alarm.h"
#include "alt_types.h"
//定義my_alarm_callback函數(shù)的重復(fù)調(diào)用周期
//INTEVAL_TICK不能太大,因?yàn)镮SS對(duì)定時(shí)器的仿真需要很長(zhǎng)的時(shí)間,這里取1即可
//在SOPC Builder中對(duì)定時(shí)器周期的設(shè)定也不要太大,1ms即可
#define INTEVAL_TICK 1 //單位:系統(tǒng)時(shí)鐘周期
//定義全局靜態(tài)變量對(duì)my_alarm_callback的被調(diào)用次數(shù)進(jìn)行計(jì)數(shù);
static int CalledCounter = 0;
/* 定義欲注冊(cè)為Alarm的callback函數(shù); */
alt_u32 my_alarm_callback (void* context)
{
CalledCounter++;
//返回值決定在返回后的多少個(gè)系統(tǒng)時(shí)鐘周期后,my_alarm_callback函數(shù)再次被調(diào)用;
return INTEVAL_TICK;
}
int main()
{
//在注冊(cè)alarm之前,必須先定義一個(gè)alt_alarm類型的變量(無(wú)須初始化),
//并將它作為alarm注冊(cè)函數(shù)alt_alarm_start的輸入?yún)?shù);
static alt_alarm alarm;
//當(dāng)alt_alarm_start注冊(cè)成功時(shí)返回0,否則返回負(fù)數(shù);
if(
alt_alarm_start(&alarm,
INTEVAL_TICK,
my_alarm_callback,
NULL
) < 0
)
{
printf ("No system clock available\n" ) ;
}
//將my_alarm_callback的被調(diào)用次數(shù)由stdout設(shè)備輸出
printf("my_alarm_callback has been called for: %d times\n", CalledCounter) ;
int Old_Value = CalledCounter;
for( ; ; )
{
if(Old_Value != CalledCounter)
{
Old_Value = CalledCounter;
printf("my_alarm_callback has been called for: %d times\n", Old_Value);
}
}
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -