问答

汇集网友智慧,解决技术难题

21ic问答首页 - TAG - ni
  • ucx

    VIVADO BRAM_SDP_MACRO宏中参数INIT_FILE sos

    INIT_FILE参数输入绝对路径时可以进行行为仿真,但是不能生成到bitstream里,在ILA中看到的还是未初始化的全0,这是为什么?或者说,怎么才能让INIT_FILE参数起效?

    Vivado DP sd ni MACRO BRAM

    95浏览量 0回复量 关注量
  • TMR3输入捕获

    配置了TMR3定时器输入捕获,但是全速运行会出错,代码如下:TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure; TIM_ICInitTypeDef TIM5_ICInitStructure; NVIC_InitTypeDef NVIC_InitStructure; /* 开启定时器5时钟 */ RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM5,ENABLE); //使能TIM5时钟 TIM_TimeBaseInitStructure.TIM_Period = 0xffff; //设置定时器自动重装载值 TIM_TimeBaseInitStructure.TIM_Prescaler = 71; //以1MHz的频率计数,一次是1μs(微妙) TIM_TimeBaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1; //设置时钟分割:TDTS = Tck_tim TIM_TimeBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM向上计数模式 TIM_TimeBaseInit(TIM5,&TIM_TimeBaseInitStructure);//初始化TIM5的时间基数单位 TIM5_ICInitStructure.TIM_Channel = TIM_Channel_2; //选择输入端,IC1映射到TI1上 TIM5_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising; //上升沿捕获 TIM5_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI; //映射到TI1上 TIM5_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1; //配置输入分频,不分频 TIM5_ICInitStructure.TIM_ICFilter = 0x00; //IC1F=0000,配置滤波器,不滤波 TIM_ICInit(TIM5, &TIM5_ICInitStructure); //初始化TIM5输入捕获通道1 //中断分组初始化 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4); NVIC_InitStructure.NVIC_IRQChannel=TIM3_IRQn; //打开TIM5的全局中断 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=1; //抢占优先级为0 NVIC_InitStructure.NVIC_IRQChannelSubPriority=0; //响应优先级为1 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //使能 NVIC_Init(&NVIC_InitStructure); TIM_Cmd(TIM3,ENABLE); //使能或者失能TIM5外设 TIM_ITConfig(TIM3, TIM_IT_Update|TIM_IT_CC2, ENABLE ); //使能或者失能指定的TIM中断

    ni ic TI MR 输入捕获 3输入

    823浏览量 3回复量 关注量
  • 联合体该如何设置某一位

    联合体如下: union SFLAG { struct { uint8_t b0 : 1; uint8_t b1 : 1; uint8_t b2 : 1; uint8_t b3 : 1; uint8_t b4 : 1; uint8_t b5 : 1; uint8_t b6 : 1; uint8_t b7 : 1; uint8_t b8 : 1; uint8_t b9 : 1; uint8_t b10 : 1; uint8_t b11 : 1; uint8_t b12 : 1; uint8_t b13 : 1; uint8_t b14 : 1; uint8_t b15 : 1; } bits; uint16_t bytes; }; union SFLAG Sflag = {0}; 现在想设置b0 位的值,该如何写代码,试用 Sflag.bytes &=0x01; 怎么不对呢??? 请高手帮助解决,谢谢!!

    ni IO AG ui 技术交流 单片机

    701浏览量 2回复量 关注量
  • TIM3捕获配置时,只要一NVIC_Init使能中断就卡死,咨询下大家

    STM32F103ZET6板子,想用TIM3_CH2来捕获TIM8 CH3输出的pwm,为此将pwm TIM8_CH3输出的管脚PC8 和 TIM3_CH2管脚PA7 连起来后,发现程序执行不下去了(不连起来就能执行)。卡死了好像。请帮看下可能原因。 做过的尝试: 1、自己把TIM3 CH2的优先级改成最高(抢占优先级为0,响应优先级也为0),也不行。 2、PC8 和 TIM3_CH2管脚PA7 连线去除,发现程序能执行下去 3、中断不使能,就是不执行Nvic_init也可以执行下去,说明肯定是和中断相关。 TIM3_CH2初始化的代码: void InitFan3InletFG(void) { GPIO_InitTypeDef GPIO_InitStructure; TIM_ICInitTypeDef TIM_ICInitStructure; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; NVIC_InitTypeDef NVIC_InitStructure; //初始化GPIO复用 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); //初始化定时器 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); TIM_TimeBaseStructure.TIM_Period = 0xFFFF-1; TIM_TimeBaseStructure.TIM_Prescaler = 72-1; //1us,总时间65ms TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); /* IC2,上升沿触发 TI2FP2 */ TIM_ICInitStructure.TIM_Channel = TIM_Channel_2; TIM_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising; TIM_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI; TIM_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1; TIM_ICInitStructure.TIM_ICFilter = 0x0; TIM_PWMIConfig(TIM3, &TIM_ICInitStructure); #if 0 /* IC2, 下降沿触发,TI2FP1*/ TIM_ICInitStructure.TIM_Channel = TIM_Channel_1; TIM_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Falling; TIM_ICInitStructure.TIM_ICSelection = TIM_ICSelection_IndirectTI; TIM_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1; TIM_ICInitStructure.TIM_ICFilter = 0x0; TIM_PWMIConfig(TIM5, &TIM_ICInitStructure); #endif TIM_SelectInputTrigger(TIM3, TIM_TS_TI2FP2); TIM_SelectSlaveMode(TIM3, TIM_SlaveMode_Reset); TIM_SelectMasterSlaveMode(TIM3,TIM_MasterSlaveMode_Enable); TIM_Cmd(TIM3, ENABLE); //使能CC2捕获中断,主 //// TIM_ClearITPendingBit(TIM3, TIM_IT_CC2); //20231130 1101: try add this TIM_ITConfig(TIM3, TIM_IT_CC2, ENABLE); //使能中断 NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //3; //0; //1; // 3; //20231130pm5 try modified to 1 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; /////// NVIC_Init(&NVIC_InitStructure); ///////1130pm15: disable try NVIC_Init(&NVIC_InitStructure); } 中断处理代码: void TIM3_IRQHandler(void) { Timer3ISR(); } void Timer3ISR(void) { int ret; g_tim3Count++; if (g_tim3Count % 100 == 0) { //printf("timer3 got\r\n"); } TIM_ClearITPendingBit(TIM3, TIM_IT_CC2); TIM_ClearITPendingBit(TIM3, TIM_IT_CC1); TIM_ClearITPendingBit(TIM3, TIM_IT_CC3); TIM_ClearITPendingBit(TIM3, TIM_IT_CC4); //TIM3, CH2通道 ret = TIM_GetFlagStatus(TIM3, TIM_FLAG_CC2); if (ret) { TIM_ClearITPendingBit(TIM3, TIM_IT_CC2); Tim3Ch2Isr(); } //TIM3, CH1通道 ret = TIM_GetFlagStatus(TIM3, TIM_FLAG_CC1); if (ret) { TIM_ClearITPendingBit(TIM3, TIM_IT_CC1); Tim3Ch1Isr(); } //TIM3, CH3通道 ret = TIM_GetFlagStatus(TIM3, TIM_FLAG_CC3); if (ret) { TIM_ClearITPendingBit(TIM3, TIM_IT_CC3); Tim3Ch3Isr(); } //TIM3, CH4通道 ret = TIM_GetFlagStatus(TIM3, TIM_FLAG_CC4); if (ret) { TIM_ClearITPendingBit(TIM3, TIM_IT_CC4); Tim3Ch4Isr(); } }

    ni TIM3 Tru structure ST NVIC

    1014浏览量 1回复量 关注量
  • Allegro 导出钻孔表的时候报错

    Error* axlFormSetField: argument #1 should be any user-defined (other) type (type template = "otg") - nil

    ALLEGRO se TE ni template RMS

    2055浏览量 3回复量 关注量
  • GD32E505计算16位CRC不对啊 sos

    #define CRC_INITIAL_VALUE 0x0000 #define CRC_POLY_VALUE 0x1021 #define CRC_SET_CONTROL_REG CRC_CTLR = 0x09 // 输出数据不翻转,输入数据不翻转, 16位, 复位

    CRC define NEC Value ni

    1403浏览量 0回复量 关注量
  • AT32F421C8T7外部中断问题

    程序将PB2引脚作为外部中断引脚,程序配置之后,引脚上电平变化时程序不能进入中断处理函数。以下为代码,请各位帮忙看看是否有配置不对的地方。 void check_gpio_init(void) { GPIO_InitType GPIO_InitStructure; EXTI_InitType EXTI_InitStructure; NVIC_InitType NVIC_InitStructure; RCC_AHBPeriphClockCmd(RCC_AHBPERIPH_GPIOB,ENABLE); GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; GPIO_InitStructure.GPIO_Pull = GPIO_Pull_NOPULL; GPIO_InitStructure.GPIO_MaxSpeed = GPIO_MaxSpeed_50MHz; GPIO_InitStructure.GPIO_OutType = GPIO_OutType_PP; GPIO_InitStructure.GPIO_Pins = GPIO_Pins_2; GPIO_Init(GPIOB,&GPIO_InitStructure); SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOB,EXTI_PinSource2); EXTI_InitStructure.EXTI_Line = EXTI_Line2; EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; EXTI_InitStructure.EXTI_LineEnable = ENABLE; EXTI_Init(&EXTI_InitStructure); NVIC_InitStructure.NVIC_IRQChannel = EXTI3_2_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); } void EXTI3_2_IRQHandler(void) { if(EXTI_GetIntStatus(EXTI_Line2) != RESET) { if(check_pin_read() == RESET) { irq_count++; if(irq_count >= 20) { fault_status = 0; irq_count = 0; //device_check_en(DISABLE); } } EXTI_ClearIntPendingBit(EXTI_Line2); } } 下载视频

    外部中断 pi ni IO TI

    972浏览量 1回复量 关注量
  • AT32F403A 使用ADC时候出的问题。

    使用ADC 双模式时,程序卡在判断CAL 控制位为零的循环中,在使用ADC双模式时,由于硬件不会清除CAL控制位,可能导致程序会卡在ADC校准函数 while(ADC_GetCalibrationStatus(ADC1)); 我没有双使用ADC,还事卡住。 #define Channel_Num 2 #define Sample_Num 1 u16 ADC_ConvertedValue[Sample_Num][Channel_Num]; void ADC_DMA_Config(void) { DMA_InitTypeDef DMA_InitStructure; RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE); DMA_DeInit(DMA1_Channel1); DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)&ADC1->DR; DMA_InitStructure.DMA_MemoryBaseAddr = (u32)&ADC_ConvertedValue; DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC; DMA_InitStructure.DMA_BufferSize = Sample_Num*Channel_Num; DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;//外设地址不变 DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;//内存地址递增 DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord; DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord; DMA_InitStructure.DMA_Mode = DMA_Mode_Circular; DMA_InitStructure.DMA_Priority = DMA_Priority_High; DMA_InitStructure.DMA_M2M = DMA_M2M_Disable; DMA_Init(DMA1_Channel1, &DMA_InitStructure); //DMA_Cmd(DMA1_Channel1,ENABLE); DMA_ClearITPendingBit(DMA1_IT_TC1);//清除DMA通道x中断待处理标志位 DMA_ITConfig(DMA1_Channel1,DMA_IT_TC, ENABLE); } //ADC配置函数 void ADC_Configuration(void) { u16 i; ADC_InitTypeDef ADC_InitStructure; RCC_ADCCLKConfig(RCC_PCLK2_Div6); //第二步:设置分频因子 ADC最大速率14M 72/6=12M ADC_DeInit(ADC1); //将外设 ADC1 的全部寄存器重设为默认值 //配置ADC1 ADC_InitStructure.ADC_Mode=ADC_Mode_Independent; //独立模式 ADC_InitStructure.ADC_ScanConvMode=ENABLE; //扫描 ADC_InitStructure.ADC_ContinuousConvMode=ENABLE; //ADC_InitStructure.ADC_ContinuousConvMode=DISABLE; ADC_InitStructure.ADC_ExternalTrigConv=ADC_ExternalTrigConv_None;//无外部触发,即软件触发 ADC_InitStructure.ADC_DataAlign=ADC_DataAlign_Right; ADC_InitStructure.ADC_NbrOfChannel=Channel_Num;//规则转换通道数量 ADC_Init(ADC1,&ADC_InitStructure); //ADC1通道采样配置,使用规则通道1-3 //测试使用中断方式读数据,采样周期不能太小.实际使用时考虑加DMA处理 ADC_RegularChannelConfig(ADC1,ADC_Channel_0,1,ADC_SampleTime_41Cycles5);//ADC8配置为通道1,周期239.5+12.5 ADC_RegularChannelConfig(ADC1,ADC_Channel_3,2,ADC_SampleTime_41Cycles5);//ADC8配置为通道1,周期239.5+12.5 //初始化AD缓冲 for(i=0;i<4;i++) { AD_value[i]=0; } //使能ADC1的DMA模式 ADC_DMACmd(ADC1,ENABLE); /* Enable ADC1 */ ADC_Cmd(ADC1,ENABLE); DELAY_1ms();//14*ADCCLK ADC_ExternalTrigConvCmd(ADC1, DISABLE); //禁止外部出发ADC转换 //清除ADC1校准值 ADC_ResetCalibration(ADC1); //等待清除完成 while(ADC_GetResetCalibrationStatus(ADC1)); //开始ADC1校准 ADC_StartCalibration(ADC1); //等待校准完成 //while(ADC_GetCalibrationStatus(ADC1)); DELAY_10ms(); DELAY_10ms(); DMA_Cmd(DMA1_Channel1,ENABLE); //开始ADC1转换 ADC_SoftwareStartConvCmd(ADC1,ENABLE); // ADC_ClearFlag(ADC1,ADC_FLAG_EOC);//清除中断标志 // ADC_ITConfig(ADC1,ADC_IT_EOC,ENABLE);//使能中断 }

    ADC DMA DM ni

    1911浏览量 2回复量 关注量
  • Chip on IDE KF32 GPIO初始化问题

    这个初始化是不是定义的输入口全部上拉,为什么只有定义的最后一个输入口有上拉,前面的口都没有上拉,求解 void GPIOInit_Input_Config(GPIO_SFRmap* GPIOx,uint16_t GpioPin) { /*初始化复位GPIOx外设,使能GPIOx外设时钟*/ GPIO_Reset(GPIOx); /* 配置 Pxy作为输入模式 */ GPIO_InitTypeDef GPIO_InitStructure; //GPIO_Struct_Init(&GPIO_InitStructure); GPIO_InitStructure.m_Pin = GpioPin; GPIO_InitStructure.m_Speed = GPIO_LOW_SPEED; //初始化 GPIO输出速度 GPIO_InitStructure.m_Mode = GPIO_MODE_IN; //初始化 GPIO方向为输入 GPIO_InitStructure.m_PullUp = GPIO_PULLUP;//GPIO_NOPULL; //初始化 GPIO是否上拉 不上拉 GPIO_InitStructure.m_PullDown = GPIO_NOPULL;//GPIO_PULLUP; //初始化 GPIO是否下拉 不下拉 GPIO_Configuration(GPIOx,&GPIO_InitStructure); } 搜索 [align=left]复制[/align]

    Chip GPIO IDE ni

    3692浏览量 14回复量 关注量
  • NI采集卡有频率为4kHz左右的高频滋滋声,请问是何原因?

    [url=ictopic-2.html]#技术资源#[/url][size=4]新买了一块NI的USB接口采集卡(NI-6322),将其用于对多个传感器的信号采集,系统供电为多路输出直流电源(朝阳电源)。上电后发现采集卡有滋滋的响声,靠近听很明显,分析发现该声音频率在4KHz左右。[/size][size=4]请教大家,这是何原因呢?有解决方法吗?[/size] [size=4]谢谢![/size]

    kHz 采集卡 ni 电源 传感

    895浏览量 5回复量 关注量
  • mspg2553总中断问题

    我刚刚开始学习单片机MSPG2553去图书馆借了几本书,我在对照范例写代码时用到 _EINT(); 就出错,发出警报。 使用环境为 IAR EW430 5.3 发出警报为: Warning[Pe223]: function "_EINT" declared implicitly F:\msp430-launchpad\频率\main.c 17 Error[e46]: Undefined external "_EINT" referred in main ( F:\msp430-launchpad\频率\Debug\Obj\main.r43 ) 这什么情况 _ENIT 未定义? 难道是头文件有缺失吗? (头文件未更改) 我该如何解决这个错误?

    AI AD launchpad ni MSP430-LaunchPad

    582浏览量 1回复量 关注量
  • stm32f0系列进入睡眠模式的困惑

    [color=#222226]使用STM32F030F4P6做产品,[/color][color=#222226]现在是可以进入待机模式,使用RTC唤醒,然后能发送数据工作。[/color] [color=#222226]现在想让产品初始上电后先进入休眠,然后在RTC唤醒后,再发送数据;但是现在只要上电就直接发送数据,然后才进入休眠。[/color] [color=#222226]通过查看PWR->CSR寄存器,看到RM手册中说SBF和WUF位是可以用来判断是否从待机模式中醒来的,但是程序这么做了不起作用,还是上电就发送数据。[/color] [color=#222226]请各位大佬给看看可能因为什么导致的。[/color] [color=#222226]int main(void)[/color] [color=#222226]{[/color] [color=#222226] /* MCU Configuration--------------------------------------------------------*/[/color] [color=#222226] HAL_Init();[/color] [color=#222226] /* Configure the system clock */[/color] [color=#222226] SystemClock_Config();[/color] [color=#222226] [/color] [color=#222226] MX_GPIO_Init(); [/color] [color=#222226] MX_RTC_Init();[/color] [color=#222226] [/color] [color=#222226] RTC_AlarmConfig();[/color] [color=#222226] /* USER CODE BEGIN SysInit */[/color] [color=#222226] if (__HAL_PWR_GET_FLAG(PWR_FLAG_SB) != RESET ) //在此判断SBF标志位,若为1,则表明是被唤醒过[/color] [color=#222226] //if(__HAL_PWR_GET_FLAG(PWR_FLAG_WU)!= RESET)[/color] [color=#222226]{[/color] [color=#222226] __HAL_RCC_GPIOA_CLK_ENABLE();[/color] [color=#222226] MX_SPI1_Init();[/color] [color=#222226] Lora_init();[/color] [color=#222226] //HAL_Delay(10000);[/color] [color=#222226] Read_Ds18b20();[/color] [color=#222226] Lora_SendTemp1();[/color] [color=#222226] }[/color] [color=#222226] __HAL_RCC_PWR_CLK_ENABLE();[/color] [color=#222226] if (__HAL_PWR_GET_FLAG(PWR_FLAG_SB) != RESET)[/color] [color=#222226]{[/color] [color=#222226] __HAL_PWR_CLEAR_FLAG(PWR_FLAG_SB);[/color] [color=#222226] }[/color] [color=#222226] [/color] [color=#222226] HAL_PWR_DisableWakeUpPin(PWR_WAKEUP_PIN1);[/color] [color=#222226]if (__HAL_PWR_GET_FLAG(PWR_FLAG_WU) != RESET)[/color][img=0,24]https://img-bbs.csdn.net/upload/202005/26/1590486098_526184.png[/img] [color=#222226] HAL_PWR_EnterSTANDBYMode();[/color] [color=#222226] while (1)[/color] [color=#222226] {[/color] [color=#222226] [/color] [color=#222226] }[/color] [color=#222226]}[/color] [color=#222226]通过查看数据手册,说有2个标志位,一个是用来说明曾进入待机模式;另一个是曾被唤醒过,通过判断这个,认为设备进入过待机模式,那么就可以发送数据;若没进入过,那就先进入待机,不发数据。[/color] [color=#222226]这2个我都尝试了,没起作用,请大家指点。[/color]

    STM32F0 se ni pi ge

    1080浏览量 6回复量 关注量
  • CH579 TMOS问题

    void TMOS_InitTasks( void ) { UINT8 taskID = 0; /* tmos Task */ TMOS_Init( taskID++ ); /* Hal Task */ Hal_Init( taskID++ ); //硬件初始化 /* LL Task */ LL_Init( taskID++ ); /* L2CAP Task */ L2CAP_Init( taskID++ ); /* GAP Task */ GAP_Init( taskID++ ); /* GATT Task */ GATT_Init( taskID++ ); /* SM Task */ SM_Init( taskID++ ); GAPBondMgr_Init( taskID++ ); GATTServApp_Init( taskID++ ); /* Role */ GAPRole_PeripheralInit( taskID++ ); /* hid */ HidDev_Init(taskID++); /* Application */ HidEmu_Init(taskID++); //USBHID task UsbHid_Init(taskID++); } 上面的函数上面时候执行的?原理什么的有人能解惑一下吗

    MOS ni HID USBHID l2cap

    1219浏览量 4回复量 关注量
  • 关于mcc的library的问题

    [img]C:\Users\Administrator\Desktop\1.png[/img] mplab中mcc插件使用中,设备资源下没有mikroe相关模板,这是什么问题????

    library ADM DM ni RS

    622浏览量 2回复量 关注量
  • LM358仿真结果与实际结果不符,请大神指点,拜谢!

    [i=s] 本帖最后由 yydianzi 于 2020-8-26 16:27 编辑 [/i] [img]C:\Users\Administrator\Desktop\1.png[/img]

    LM358 仿真 ADM DM ni

    1765浏览量 8回复量 关注量
123下一页