-
TMS320F28335 sos
抄了个DSP的板子,接上电源下载好out代码后发现,有个GPIO 是有输出的(正常板子也是这样),但是GPIO 35 36是没有通讯输出?正常板子是应该有通信的。
5764浏览量 0回复量 关注量 -
CH573中断进不去
void KEY_GPIO_Init(void) { GPIOB_ModeCfg(GPIO_Pin_22,GPIO_ModeIN_PU);[font=consolas, monospace][color=#f92672]//初始化位输入上拉[/color][/font] GPIOB_ITModeCfg(GPIO_Pin_22,GPIO_ITMode_FallEdge);[font=consolas, monospace][color=#f92672]//开启下降沿中断[/color][/font] PFIC_EnableIRQ( GPIO_B_IRQn );[font=consolas, monospace][color=#f92672]//开启GPIOB中断[/color][/font]} __attribute__((interrupt("WCH-Interrupt-fast"))) __attribute__((section(".highcode"))) void GPIOB_IRQHandler(void) { uint16_t GPIOB_irqFlag = GPIOB_ReadITFlagPort(); if( GPIOB_irqFlag & GPIO_Pin_22 ) { GPIOB_ClearITFlagBit(GPIO_Pin_22); if(GPIOB_ReadPortPin(GPIO_Pin_22) == 0) { 按键控制; } } } 进不去中断
4621浏览量 1回复量 关注量 -
GD32E230 F12跳转问题
#ifdef USE_IWDG_ENABLE IWDG_Process(); #endif 在这样的函数中 IWDG_Process()选中 按F12无法跳转,提示NO information available for the selected symbol [b][color=#000][font=Tahoma, Arial, Helvetica, snas-serif][size=14px] 路径全英文。IWDG_Process 单独拿出来反而能跳转。[/size][/font][/color][/b]#define XXX (gpio_bit_set(XXX,XXX)) 选中gpio_bit_set按F12无法跳转到gd32e10x_gpio.c文件,单独拿出按F12能跳转 什么情况
3842浏览量 2回复量 关注量 -
HC32L196使用ADC顺序扫描采样,采样值不更新
我使用HC32L196上的PB13和PB14 进行AD采样,模式为顺序采样模式,但是发现采样值不更新,一直都是刚上电的值 下载视频 代码如下: ///< 开启ADC/BGR GPIO外设时钟 Sysctrl_SetPeripheralGate(SysctrlPeripheralGpio, TRUE); Gpio_SetAnalogMode(GpioPortB, GpioPin13); //PB13 TEMP Gpio_SetAnalogMode(GpioPortB, GpioPin14); //PB14 HUMI stc_adc_cfg_t stcAdcCfg; DDL_ZERO_STRUCT(stcAdcCfg); Sysctrl_SetPeripheralGate(SysctrlPeripheralAdcBgr, TRUE); Bgr_BgrEnable(); ///< 开启BGR ///< ADC 初始化配置 stcAdcCfg.enAdcMode = AdcScanMode; ///<采样模式-扫描 stcAdcCfg.enAdcClkDiv = AdcMskClkDiv1; ///<采样分频-1 stcAdcCfg.enAdcSampCycleSel = AdcMskSampCycle8Clk; ///<采样周期数-8 stcAdcCfg.enAdcRefVolSel = AdcMskRefVolSelAVDD; ///<参考电压选择-VCC stcAdcCfg.enAdcOpBuf = AdcMskBufDisable; ///
5233浏览量 1回复量 关注量 -
GD32E103RBT6 STLINK烧录的,烧录成功,程序不运行
#define __SYSTEM_CLOCK_IRC8M (uint32_t)(__IRC8M) int main(void) { systick_config(); /* enable the LED2 GPIO clock */ rcu_periph_clock_enable(RCU_GPIOB); gpio_init(LED_RED_PORT, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ,LED_RED_GPIO); gpio_init(LED_BLUE_PORT, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ,LED_BLUE_GPIO); LED_RED_ON; LED_BLUE_ON; rcu_periph_clock_enable(RCU_GPIOC); gpio_init(FeedDog_PORT, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ,FeedDog_GPIO); while(1){ //FeedDog(); LED_RED_ON; LED_BLUE_ON; delay_1ms(1000); LED_RED_OFF; LED_BLUE_OFF; delay_1ms(1000); } } 自己建的keil5工程,用的官方库,设置成了内部8M晶振,程序就是点个LED灯。结果发现编译成功,烧录成功就是等不亮。偶尔发现在烧录瞬间等会量一下,烧录完成后等会亮一下很快就没有任何反映了
3830浏览量 3回复量 关注量 -
MM32F003TW把下载口作为普通IO口吗?
MM32F003TW把下载口作为普通IO口,需要加什么语句防止锁死吗?如果stm32的是需要加下面两句把端口复用使能、把JTAG功能关闭。[color=#4d4d4d][backcolor=rgb(255, 255, 255)][font=-apple-system, "][size=16px]CC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);[/size][/font][/backcolor][/color][color=#4d4d4d][backcolor=rgb(255, 255, 255)][font=-apple-system, "][size=16px]GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);// PB3,PB4 PA15(这函数在GPIO库文件里面),[/size][/font][/backcolor][/color][color=rgb(77, 77, 77)][backcolor=rgb(255, 255, 255)][font=-apple-system, "][size=16px]GPIO_Remap_SWJ_JTAGDisable官方定义在GIPO头文件里面。[/size][/font][/backcolor][/color] [color=rgb(77, 77, 77)][backcolor=rgb(255, 255, 255)][font=-apple-system, "][size=16px]看了MM32的GPIO头文件也有类似定义,但GPIO的文件找不到[/size][/font][/backcolor][/color][color=rgb(77, 77, 77)][backcolor=rgb(255, 255, 255)][font=-apple-system, "][size=16px]GPIO_PinRemapConfig 类似函数。。求解。[/size][/font][/backcolor][/color]
2047浏览量 1回复量 关注量 -
MM32F103RET6 SPI1设置问题
void SPI1_Init(void) { SPI_InitTypeDef SPI_InitStructure; GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1, ENABLE); //SPI1 clk enable GPIO_PinAFConfig(GPIOA, GPIO_PinSource4, GPIO_AF_0); GPIO_PinAFConfig(GPIOA, GPIO_PinSource5, GPIO_AF_0); GPIO_PinAFConfig(GPIOA, GPIO_PinSource7, GPIO_AF_0); GPIO_PinAFConfig(GPIOA, GPIO_PinSource6, GPIO_AF_0); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4; //spi1_cs pa4 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出 GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; //spi1_sck pa5 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; // 推免复用输出 GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; //spi1_mosi pa7 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; // 推免复用输出 GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; //spi1_miso pa6 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode =GPIO_Mode_AF_PP; //推免复用输出 GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GT22L_HOLD; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GT22L_HOLD_PORT, &GPIO_InitStructure); GT22L_HOLD_H; SPI_InitStructure.SPI_Mode = SPI_Mode_Master; SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;//DMA数据宽度 SPI_InitStructure.SPI_DataWidth = SPI_DataWidth_8b; SPI_InitStructure.SPI_CPOL = SPI_CPOL_High; // mode0 SPI_CPOL_Low, SPI_CPHA_1Edge; SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge; // mode3 SPI_CPOL_High,SPI_CPHA_2Edge SPI_InitStructure.SPI_NSS = SPI_NSS_Soft; SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_2;//SPI最高40MHz,72M最多2分频 SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB; SPI_Init(SPI1, &SPI_InitStructure); SPI_Cmd(SPI1, ENABLE); //Enables the specified SPI peripheral SPI使能、主机模式 8位数据模式 SPI 的波特率 SPIM_TXEn(SPI1); SPIM_RXEn(SPI1); } /******************************************************************************************************** **函数信息 :SPIMReadWriteByte(SPI_TypeDef* SPIx,unsigned char tx_data) **功能描述 : 通过外设 SPIx 收发数据 ,用于全双工模式(同时收发) **输入参数 :SPI_TypeDef* SPIx,可选择SPI1,SPI2 ; tx_data **输出参数 :无 ********************************************************************************************************/ u8 SPI1_ReadWriteByte(u8 TxData) { #if IWDG_ON_OFF==IWDG_ON //独立看门狗开启 IWDG_ReloadCounter(); //喂狗 #endif while(SPI_GetFlagStatus(SPI1, SPI_FLAG_TXEPT)==SET){} assert_param(IS_SPI_ALL_PERIPH(SPI1)); SPI1->TXREG = TxData; while (SPI_GetFlagStatus(SPI1, SPI_FLAG_RXAVL)==RESET){} assert_param(IS_SPI_ALL_PERIPH(SPI1)); return SPI1->RXREG; } 我想问下该芯片的SPI1配置有没有问题
9721浏览量 7回复量 关注量 -
有谁用过F28377的4、5、6、7、8路cmpss的? sos
我用的主控芯片是TMS320F28377D的DSP,该型号DSP一共有8个独立cmpss,我使用了其中的三路cmpss(1、2、3路),可以将该三路的cmpss按照XBAR的映射关系将cmpss的比较结果映射到相应的管脚,但是却无法将其他的几路(4、5、6、7、8)的比较结果映射到其他管脚输出。配置都完全一样,通过XBAR的映射逻辑也都参考数据手册的要求整的。但是,只有1、2、3路正常,其他的都异常。大家是否遇到类似的为题。void Cmpss6_Initial_Function(void) { EALLOW; Cmpss6Regs.COMPCTL.bit.COMPDACE = 1; /*使能比较器的DAC*/ Cmpss6Regs.COMPCTL.bit.COMPHSOURCE = 0; /*比较器的P端输入为DAC*/ Cmpss6Regs.COMPCTL.bit.COMPLSOURCE = 1; /*需要设置比较器的N端输入为外部输入引脚*/ Cmpss6Regs.COMPCTL.bit.COMPHINV = 0; /*比较器的输出结果不反向*/ Cmpss6Regs.COMPCTL.bit.ASYNCHEN = 0; /**/ Cmpss6Regs.COMPDACCTL.bit.DACSOURCE = 0; /*配置DAC的数字输入端的值来源于影子寄存器*/ Cmpss6Regs.COMPDACCTL.bit.SELREF = 0; /*配置DAC的参考电压为VDDA 注意不是比较器的参考电压 比较器的参考电压为DAC的输出电压*/ Cmpss6Regs.COMPDACCTL.bit.SWLOADSEL = 0; /*使用系统时钟来同步DAC*/ Cmpss6Regs.DACHVALS.bit.DACVAL = 2047; /*通过配置DAC的输出电压值 来设置比较器的参考电压 该寄存器为影子寄存器 DAC的输出值只能是通过影子寄存器的设置来实现 */ /*比较器数字滤波设计 采用典型的数字滤波 */ Cmpss6Regs.CTRIPHFILCLKCTL.bit.CLKPRESCALE = 2047; Cmpss6Regs.CTRIPHFILCTL.bit.SAMPWIN = 31; Cmpss6Regs.CTRIPHFILCTL.bit.THRESH = 31; Cmpss6Regs.CTRIPHFILCTL.bit.FILINIT = 1; Cmpss6Regs.COMPCTL.bit.CTRIPOUTHSEL = 0; /*比较器输出非同步*/ Cmpss6Regs.COMPCTL.bit.CTRIPLSEL = 0; /*比较器输出非滤波*/ Cmpss6Regs.COMPHYSCTL.bit.COMPHYS = 4; /*设置滞环宽度*/ OutputXbarRegs.OUTPUT5MUX0TO15CFG.bit.MUX10 = 0; /*MUX6 = 0 XBAR4 设置比较器的为高输出结果*/ OutputXbarRegs.OUTPUT5MUXENABLE.bit.MUX10 = 1; /*使能复用开关*/ EDIS; } void Init_Cmpss6_Gpio(void) { EALLOW; GpioCtrlRegs.GPADIR.bit.GPIO29 = 1; /*配置GPIO29的方向设置为输出口*/ GpioCtrlRegs.GPAPUD.bit.GPIO29 = 1; /*禁止GPIO29的上拉功能 */ GpioCtrlRegs.GPAGMUX2.bit.GPIO29 = 0x01; /*通过设置GPAMUX寄存器和GPAGMUX寄存器的值 来将GPIO29的管脚功能映射到外设功能 参照手册P959的表8-7所示 将GPIO29映射到OUTPUTXBAR6*/ GpioCtrlRegs.GPAMUX2.bit.GPIO29 = 0x01; EDIS; } 这个是其中一个异常的cmpss的配置和XBAR管脚配置。
2194浏览量 0回复量 关注量 -
PC15 PC14怎样设置成普通的IO?
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOD | RCC_AHB1Periph_GPIOE, ENABLE); //使能相应GPIO的时钟 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;//10M时钟速度 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;//选择输入模式 //按键 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;//S1 GPIO_InitStructure.GPIO_Pin |= GPIO_Pin_0;//S2 GPIO_Init(GPIOA, &GPIO_InitStructure);//写入设置参数 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;//S3 GPIO_InitStructure.GPIO_Pin |= GPIO_Pin_2;//S4 GPIO_Init(GPIOC, &GPIO_InitStructure);//写入设置参数 //红外管信号 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;//PT1 GPIO_InitStructure.GPIO_Pin |= GPIO_Pin_0;//PT2 GPIO_Init(GPIOC, &GPIO_InitStructure);//写入设置参数 PWR_BackupAccessCmd(ENABLE);//允许修改RTC 和后备寄存器 RCC_LSEConfig(RCC_LSE_OFF);//关闭外部低速外部时钟信号功能 后,PC13 PC14 PC15 才可以当普通IO用。 BKP_TamperPinCmd(DISABLE);//关闭入侵检测功能,也就是 PC13,也可以当普通IO 使用 BKP_ITConfig(DISABLE); GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;//选择输入模式 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;//PT3 GPIO_InitStructure.GPIO_Pin |= GPIO_Pin_14;//PT4 GPIO_InitStructure.GPIO_Pin |= GPIO_Pin_13;//PT5 GPIO_Init(GPIOC, &GPIO_InitStructure);//写入设置参数
1649浏览量 2回复量 关注量 -
CH573F IO 中断怎么用,是不是漏了什么配置, 一直不进中断
[color=rgb(249, 38, 114)][font=consolas, monospace]void gpio_wake_init() {[/font][/color] [font=consolas, monospace][color=#f92672] //初始化位输入上拉[/color][/font] [font=consolas, monospace][color=#f92672] GPIOB_ModeCfg(GPIO_Pin_4, GPIO_ModeIN_PU);[/color][/font] [font=consolas, monospace][color=#f92672] //开启下降沿中断[/color][/font] [font=consolas, monospace][color=#f92672] GPIOB_ITModeCfg(GPIO_Pin_4,GPIO_ITMode_FallEdge);[/color][/font] [font=consolas, monospace][color=#f92672] //开启GPIO睡眠唤醒[/color][/font] [font=consolas, monospace][color=#f92672] PWR_PeriphWakeUpCfg( ENABLE, RB_SLP_GPIO_WAKE,Edge_LongDelay );[/color][/font] [font=consolas, monospace][color=#f92672] //开启GPIOB中断[/color][/font] [font=consolas, monospace][color=#f92672] PFIC_EnableIRQ(GPIO_B_IRQn);[/color][/font] [font=consolas, monospace][color=#f92672]}[/color][/font] [font=consolas, monospace][color=#f92672] [/color][/font] [font=consolas, monospace][color=#f92672]//中断服务程序[/color][/font] [font=consolas, monospace][color=#f92672]__attribute__((interrupt("WCH-Interrupt-fast"))) //硬件压栈[/color][/font] [font=consolas, monospace][color=#f92672]__attribute__((section(".highcode"))) //放到RAM里[/color][/font] [font=consolas, monospace][color=#f92672]void GPIOB_IRQHandler(void) {[/color][/font] [font=consolas, monospace][color=#f92672] PRINT("gpio interrupt\r\n");[/color][/font] [font=consolas, monospace][color=#f92672] GPIOB_ClearITFlagBit(GPIO_Pin_4);[/color][/font] [font=consolas, monospace][color=#f92672]}[/color][/font] 搜索 [align=left]复制[/align]
3480浏览量 3回复量 关注量 -
HC32F003C4Pa
用官网例程UART1 改UART0 只能发生不能接受。不知到什么情况。long: //串口引脚配置 static void App_PortInit(void) { stc_gpio_cfg_t stcGpioCfg; DDL_ZERO_STRUCT(stcGpioCfg); Sysctrl_SetPeripheralGate(SysctrlPeripheralGpio,TRUE); //使能GPIO模块时钟 ///
993浏览量 1回复量 关注量 -
HC32L110C6UA端口中断问题
华大HC32L110C6UA芯片配置P03端口输入下降沿中断,一旦触发中断就会一直进入端口中断,有对M0P_GPIO->P3ICLR写入0操作,并读取M0P_GPIO->P3ICLR和M0P_GPIO->P0STAT_f 寄存器发现值并没有变化。不知道是有哪里没有设置好,各位大神帮忙看看!如下是程序过程: void Gpio_IRQHandler(uint8_t u8Param){ uint32_t read_stat=0; switch(u8Param) { case 0: { } break; case 1: { } break; case 2: { } break; case 3: { } break; default:; break; } *((uint32_t *)((uint32_t)&M0P_GPIO->P3ICLR + u8Param * 0x40)) = 0; read_stat=*((uint32_t *)((uint32_t)&M0P_GPIO->P3ICLR + u8Param * 0x40)); read_stat=*((uint32_t *)((uint32_t)&M0P_GPIO->P0STAT_f + u8Param * 0x40)); } int32_t main(void) { Gpio_InitIOExt(0, 3, GpioDirIn, FALSE, FALSE, FALSE, FALSE); Gpio_ClearIrq(0, 3); //上升沿 Gpio_EnableIrq(0, 3, GpioIrqFalling); EnableNvic(PORT0_IRQn, DDL_IRQ_LEVEL_DEFAULT, TRUE); while(1) { } }
1403浏览量 2回复量 关注量 -
可穿透三层楼房的无线透传模块有哪些? 赏100家园币
农村小楼房,在室外安装GPS接收模块接收GPS时钟信息,通过无线串口透传模块发送时间信息到各个房间,房间里安装自己做的单片机时钟,最好便宜又容易使用的那种,直接串口传输数据的
18747浏览量 10回复量 关注量