nios ii 中 ‘ALT_CPU_FREQ‘ could not be resolved的分析和解决办法

在altera fpga中使用逻辑搭建的nios ii系统中,编写uart的时候出现如下错误:

Description Resource Path Location Type

Symbol 'ALT_CPU_FREQ' could not be resolved Uart.c /F31/BaseModule/Src line 85 Semantic Error

**分析:**报错是 Symbol 'ALT_CPU_FREQ' could not be resolved,说明编译器找不到标识符 ALT_CPU_FREQ 的定义 / 声明,简单说就是编译器不认识这个符号。

在header.h文件中添加 #include "Uart.h"

将头文件 header.h文件放到Uart.c的顶部,报错问题自动消失

下边是Uart的代码,有需要的可以自取

/*

  • Uart.c
  • Created on: 2022-5-12
复制代码
   Author: luo

*/

#include "Uart.h"

//#include "header.h"

//函数:发送一个字节

unsigned char UartTxByte(UART_ST * TARGET_UART, unsigned char l_u8ToTxByte)

{

unsigned int l_u32TimeWait;

复制代码
TARGET_UART->TXDATA.BITS.TRANSMIT_DATA = l_u8ToTxByte;

l_u32TimeWait = 0;
while(TARGET_UART->STATUS.BITS.TRDY == 0)
{
	l_u32TimeWait++;
	if(l_u32TimeWait >= 100000)
	{
		return 1;
	}
}

return 0;

}

//函数:发送多个字节

unsigned char UartTxBuf(UART_ST * TARGET_UART, unsigned int l_u32ToTxLen, unsigned char *p_u8ToTxBuf)

{

unsigned char l_u8Ret;

unsigned int i;

复制代码
if(l_u32ToTxLen == 0)
{
	return 1;
}

for(i=0; i<l_u32ToTxLen; i++)
{
	l_u8Ret = UartTxByte(TARGET_UART, p_u8ToTxBuf[i]);
	if(l_u8Ret != 0)
	{
		return l_u8Ret;
	}
}

return 0;

}

//设置接收中断状态

unsigned char UartSetRxIrqState(UART_ST * TARGET_UART, unsigned char l_u8State)

{

if((l_u8State != UART_RX_IRQ_DISABLE) && (l_u8State != UART_RX_IRQ_ENABLE))

{

return 1;

}

复制代码
TARGET_UART->CONTROL.BITS.IRRDY = l_u8State;

return 0;

}

//读取接收字节

unsigned char UartGetRxData(UART_ST * TARGET_UART)

{

return (TARGET_UART->RXDATA.BITS.RECEIVE_DATA);

}

//函数:设置波特率

unsigned char UartSetBaudrate(UART_ST * TARGET_UART, unsigned int l_u32BaudRate)

{

if(l_u32BaudRate < 9600)

{

return 1;

}

复制代码
//根据手册设置
TARGET_UART->DIVISOR.BITS.BAUD_RATE_DIVISOR = (unsigned int)(ALT_CPU_FREQ/l_u32BaudRate+0.5);

return 0;

}

相关推荐
爱编码的小八嘎11 分钟前
C语言对话-21.模板特化,缺省参数和其他一些有趣的事情
c语言
yueyuexiaokeai12 小时前
linux kernel常用函数整理
linux·c语言
想放学的刺客3 小时前
单片机嵌入式试题(第29期)嵌入式系统的电源完整性设计与去耦电容选型。抗干扰设计与EMC合规性
c语言·stm32·嵌入式硬件·物联网·51单片机
集芯微电科技有限公司5 小时前
15V/2A同步开关型降压单节/双节锂电池充电管理IC支持输入适配器 DPM 功能
c语言·开发语言·stm32·单片机·嵌入式硬件·电脑
zz34572981138 小时前
c语言基础概念9
c语言·开发语言
碎碎思8 小时前
当 FPGA 遇见怀旧计算:486 与 Atari ST 的硬件级重生
fpga开发
v_for_van9 小时前
力扣刷题记录4(无算法背景,纯C语言)
c语言·算法·leetcode
启友玩AI9 小时前
方言守护者:基于启英泰伦CI-F162GS02J芯片的“能听懂乡音”的智能夜灯DIY全攻略
c语言·人工智能·嵌入式硬件·ai·语音识别·pcb工艺
EmbedLinX9 小时前
Linux 之设备驱动
linux·服务器·c语言
数字芯片实验室9 小时前
怎么定义芯片上的异步时钟?
单片机·嵌入式硬件·fpga开发