主题中讨论的其他器件:HALCOGEN
工具与软件:
您好!
我将尝试使用这些功能vimEnableInterrupt
、并vimDisableInterrupt
启用或禁用特定的中断矢量。 在我的例子中、它是为adcGROUP1
。
但是、我无法使它正常工作。 似乎的中断adcGROUP1
从未被指令启用vimEnableInterrupt(15, SYS_IRQ)
。
我已经在下面附上了sys_main.c
和notification.c
文件、便于您查看。 感谢您对此问题的帮助。
sys_main.c
/*包含文件*/
#include "sys_common.h"
/*用户代码 begin (1)*/
#include "ADC.h"
#include "sci.h"
#include "Gio.h"
#include "stdlib.h"
#include "stdio.h"
#include "sys_vim.h"
/*用户代码结束*/
/**@fn void main (void)
*@简要应用程序主函数
*@注意此函数默认为空。
*
*此函数在启动后调用。
*用户可以使用此函数来实现应用程序。
*/
/*用户代码 begin (2)*/
/*用户代码结束*/
int main (void)
{
/*用户代码 begin (3)*/
sciInit();
adcInit ();
gioInit ();
//_enable_irq ();
vimInit ();
vimEnableInterrupt (15、SYS_IRQ);
// vimChannelMap (15、15、adc1Group1Interrupt);
// vimDisableInterrupt (15);
adcEnableNotification (adcREG1、adcGROUP1);
/*开始 ADC 转换*/
adcStartConversion (adcREG1、adcGROUP1);
printf ("\n");
fflush (stdout);
while (1)
{
gioSetBit (gioPORTB、0、1);
printf ("Sen by Serial Port \n");
fflush (stdout);
gioSetBit (gioPORTB、0、0);
}
/*用户代码结束*/
返回0;
}
/*用户代码 begin (4)*/
/*用户代码结束*/
notification.c
/*包含文件*/
#include "ESM.h"
#include "sys_selftest.h"
#include "ADC.h"
#include "Gio.h"
#include "sci.h"
#include "sys_dma.h"
/*用户代码 begin (0)*/
#include "stdio.h"
#include "stdlib.h"
#include "sys_vim.h"
#pragma weak (adcNotification)
void adcNotification (adcbase_t * ADC、uint32组)
{
/*在用户代码开始和用户代码结束之间输入用户代码。 */
/*用户代码 begin (11)*/
adcData_t ADC_data;
adcData_t * ptr;
uint32 i = 0;
uint32 c = 0;
C = adcGetData (adcREG1、adcGROUP1、&ADC_DATA);
ptr =&ADC_DATA;
对于(i = 0;i < c;i++)
{
printf ("adc 值[%d]:%d;\n"、i、ptr->value);
fflush (stdout);
PTR++;
}
// vimDisableInterrupt (15);
返回;
/*用户代码结束*/
}
Halcogen