-
gd32e230 IIC读数据问题
/* send the internal register address to */i2c_data_transmit(I2C0, read_address); /* wait until BTC bit is set */ while(!i2c_flag_get(I2C0, I2C_FLAG_BTC); [b][color=#800080]一直卡在上面[/color][/b] [b][color=#800080]请问什么原因?[/color][/b]
4244浏览量 17回复量 关注量 -
大家帮忙看看MCPWM波形是否有问题 sos
[img]file:///C:/Users/provac/AppData/Local/Packages/Microsoft.Windows.Photos_8wekyb3d8bbwe/TempState/ShareServiceTempFolder/11.jpeg[/img]
1059浏览量 0回复量 关注量 -
凌鸥官网keil安装出现问题
安装到step2时,目录栏未显示任何路径,到了step3显示Keil安装目录下UV4目录未找到,请正确设置Keil安装目录!请问各位佬们这个如何解决啊
1883浏览量 1回复量 关注量 -
GD32F303问题
[color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]问题背景是这样的:[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]配置了一个20Khz的定时器溢出中断,System_cnt_add()函数是对一个变量++,就是创建了一个时间基准。然后在Task_time_slice_function()函数里面实现了一个led每0.5s翻转的任务。[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]于是遇到了这样一个问题:[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]当我把这个Task_time_slice_function()函数放在中断的时候,led能够正常实现每0.5s翻转的操作,也就是输出一个1Hz的方波。但是当我把Task_time_slice_function()函数放在main函数的while循环里面时,功能就失效了,变成输出32Hz的方波。有没有人知道怎么回事,希望能指点一下,谢谢![/size][/font][/backcolor][/color][font=Tahoma, Microsoft Yahei, Simsun][color=#444444][size=16px] [/size][/color][/font][color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]这是用到的几个函数[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]int main(void)[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]{[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] Systemclock_config();[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] nvic_config();[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] gpio_config();[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] spi2_config();[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] timer_config();[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] [/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] System_cnt_init();[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] [/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] while(1)[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] {[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] Task_time_slice_function();[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] }[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]}[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]/* time0 20kHz*/[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]void TIMER0_UP_IRQHandler(void)[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]{ [/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] if(SET == timer_interrupt_flag_get(TIMER0, TIMER_INT_UP))[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] {[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] timer_interrupt_flag_clear(TIMER0, TIMER_INT_FLAG_UP);[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] [/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] System_cnt_add();[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] [/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] }[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]}[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]void Task_time_slice_function(void)[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]{[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] /* 1ms */[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] if(_abs(systemclock_data.systemclock_cnt - systemclock_data.systemclock_lastcnt_1ms) >= systemclock_data.systemclock_cnt_1ms)[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] {[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] systemclock_data.systemclock_lastcnt_1ms = systemclock_data.systemclock_cnt;[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] led_main();[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] }[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] /* 10ms */[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] if(_abs(systemclock_data.systemclock_cnt - systemclock_data.systemclock_lastcnt_10ms) >= systemclock_data.systemclock_cnt_10ms)[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] {[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] systemclock_data.systemclock_lastcnt_10ms = systemclock_data.systemclock_cnt;[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] [/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] }[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] /* 100ms */[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] if(_abs(systemclock_data.systemclock_cnt - systemclock_data.systemclock_lastcnt_100ms) >= systemclock_data.systemclock_cnt_100ms)[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] {[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] systemclock_data.systemclock_lastcnt_100ms = systemclock_data.systemclock_cnt;[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] }[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] /* 1000ms */[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] if(_abs(systemclock_data.systemclock_cnt - systemclock_data.systemclock_lastcnt_1000ms) >= systemclock_data.systemclock_cnt_1000ms)[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] {[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] systemclock_data.systemclock_lastcnt_1000ms = systemclock_data.systemclock_cnt;[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] [/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px] }[/size][/font][/backcolor][/color] [color=#444444][backcolor=rgb(242, 249, 253)][font=Tahoma, "][size=16px]}[/size][/font][/backcolor][/color]
2111浏览量 3回复量 关注量 -
AOA 多设备连接问题
有一下几个问题请教一下: 1.按照BLE5.1中关于AOA的方式,应该有两种模式,一种是广播模式,一种是连接模式。请问现在的例程里是连接模式的吗? 2.实际测试,当发完RTLS_CMD_CONNECT指令之后,需要等待5-10秒的时间,才会回复连接成功。这个比蓝牙连接的时间要的多。 [18:25:34.652]发→◇FE 09 00 39 03 00 8D 07 75 03 EE 04 90 01 B4 □ [18:25:34.704]收←◆FE 01 00 79 03 00 7B [18:25:34.790]收←◆FE 1B 00 59 02 00 00 68 AE BA 08 20 03 07 00 00 07 FF FF FF FF 1F 97 06 3D 00 8D 07 75 03 EE 04 B2 [18:25:40.282]收←◆FE 03 00 59 03 00 00 00 59 3.我们现在测试,同时连接6台设备的情况下,并让设备一直输出IQ数据,过一段时间之后蓝牙设备会死机。实测2台设备的情况下不会。这个有可能是哪个方便原因。python相应的配置如下: connect_interval_mSec = 500 rtlsUtil.aoa_start(cte_length=20, cte_interval=0)
22263浏览量 2回复量 关注量 -
关于UI界面passive不显示曲线的问题 sos
[align=left][size=14px]我根据dev.ti.com上的指导改动master添加了boost_aoa天线板后,按原来的master+passive+slave进行排布实验。发现此时master可以连续的输出slave的测量角度,但此时的passive却一直没有数据输出。具体演示情况如下:[/size][/align][align=left][size=14px][color=rgb(170, 102, 102)][img]https://e2echina.ti.com/resized-image/__size/1230x0/__key/communityserver-discussions-components-files/103/3343.1.jpg[/img][/color][/size][/align][align=left][size=14px]我换了空旷环境进行试验,发现还是没有任何关于passive的数据信息,即没有输出角度,logs一栏也没有passive的日志信息。[/size][/align][align=left][size=14px]我后来更换了master,即使用原来不带天线、未修改电容的master,发现passive有角度信息输出,但每次时间都很短,输出一会数据就结束了,远没有master输出持续时间长。具体显示情况如下:[/size][/align][align=left][size=14px][color=rgb(170, 102, 102)][img]https://e2echina.ti.com/resized-image/__size/1230x0/__key/communityserver-discussions-components-files/103/8463.2.jpg[/img][/color][/size][/align][align=left][size=14px]本次实验都是在空旷环境下进行的,确定干扰较小,所以为什么会出现passive输出数据时间短的问题,甚至没有数据输出的问题,还请Ti相关的工作人员为我解答,万分感谢![/size][/align] [list] [*][color=#555555][/color] [/list]
5914浏览量 0回复量 关注量 -
有偿请教关于18F66k22串口假死问题。
[i=s] 本帖最后由 taijing33 于 2020-11-16 15:17 编辑 [/i] 问题描述:使用了串口1和2,接受都是中断高优先级,发送没用中断。串口1连接的485设备,实际外部没用连接使用。串口2通过232连接的串口屏。问题出在串口2上。现在的问题是客户反应屏幕不能设置,显示正常,经判断就是串口2不能进入接受中断了,但是发送是正常的,就是假死了、。网上百度了有关信息。程序中也做了帧错误和数据溢出处理。我在办公室连续测了2天,各种乱按摔打,。就是不能重现客户遇到的问题。很是郁闷。但是客户反应的真真切切。以前在程序操作内部ee的时候关闭了中断,串口屏操作稍快就会,造成串口假死,但是我现在已经处理了。本以为解决了这个问题,没想到 到客户哪里,还是有这种情况。这种情况在客户哪里 也是几天有可能出现。但是一定会出现。 串口屏操作一次发给单片机的数据 一般不超过20个。 我的串口2接受处理逻辑。 大体意思是 串口有数据中断时,赋值Comdelay =2;一股脑的吧所有数据都接受进数组 Usart1_rbuff[100];数据一直有的话 Comdelay一直等于2; 然后再定时器中断中Comdelay --;定时器是10ms进一次中断。当Comdelay ==0认为没有数据了,这时候在接收到的数据中 找出 振头和帧尾 并进行CRC运算确认数据的正确。 下面是代码: 串口2和1的初始化代码 void config_uart1(void) { PMD1bits.RTCCMD = 1; TRISCbits.TRISC7 = 1; TRISCbits.TRISC6 = 0; TXSTA1bits.TXEN = 1; PIE1bits.TX1IE=0; //????TX PIE1bits.RC1IE=1; //RX //INITIALIZING EUART, 9 bits, 9600 baud rate PIR1bits.TX1IF = 0; //Clear EUSART Transmit Interrupt Flag bit PIR1bits.RC1IF = 0; //Clear EUSART Receive Interrupt Flag bit TXSTA1 = 0x24; //Synchronous mode:Selects 9-bit transmission, High speed BRGH=1, Transmit enabled RCSTA1 = 0x90; //Synchronous mode:Selects 9-bit reception, Continuous Receive Enable, //Serial port enabled(configures RX/DT and TX/CK pins as serial port pins) // SPBRG1 = BAUD9600; //11.0592MHz, BRGH=1, 9600bps SPBRG1 = 51; //8MHz, BRGH=1, 9600bps ODCON1 = 0; ODCON2 = 0; ODCON3 = 0; PIE1 = 0x20; //Peripheral interrupt disable PIE2 = 0; //Peripheral interrupt disable PIE3 = 0x20; //enable RC2IE/TX2IE/RTCCIE PIE4 = 0; //enable RC2IE/TX2IE/RTCCIE PIE5 = 0; //enable RC2IE/TX2IE/RTCCIE PIE6 = 0; //enable RC2IE/TX2IE/RTCCIE IPR1 = 0x20; //All peripheral interrupt /time interrupt low priority IPR2 = 0; //All peripheral interrupt /time interrupt low priority IPR3 = 0x20; //All peripheral interrupt /time interrupt low priority IPR4 = 0; //All peripheral interrupt /time interrupt low priority IPR5 = 0; //All peripheral interrupt /time interrupt low priority IPR6 = 0; //All peripheral interrupt /time interrupt low priority IPR1bits.RC1IP = 1; MAX485_EN = 0; } void config_uart2(void) { //??2 // PMD3=0xff; //外设模块禁止 // PMD2=0xff;//外设模块禁止 // PMD1=0x78;//外设模块禁止 // PMD0=0xc0;//外设模块禁止 //EECON2 = 0x55; //EECON2 = 0xaa; PMD1bits.RTCCMD = 1; TRISGbits.TRISG2 = 1; TRISGbits.TRISG1 = 0; TXSTA2bits.TXEN = 1; PIE3bits.TX2IE=0; //??TX //INITIALIZING EUART, 9 bits, 9600 baud rate PIR3bits.TX2IF = 0; //Clear EUSART Transmit Interrupt Flag bit PIR3bits.RC2IF = 0; //Clear EUSART Receive Interrupt Flag bit TXSTA2 = 0x24; //Synchronous mode:Selects 9-bit transmission, High speed BRGH=1, Transmit enabled RCSTA2 = 0x90; //Synchronous mode:Selects 9-bit reception, Continuous Receive Enable, //Serial port enabled(configures RX/DT and TX/CK pins as serial port pins) // SPBRG2 = BAUD9600; //11.0592MHz, BRGH=1, 9600bps SPBRG2 = 51; //8MHz, BRGH=1, 9600bps ODCON1 = 0; ODCON2 = 0; ODCON3 = 0; PIE1 = 0x20; //Peripheral interrupt disable PIE2 = 0; //Peripheral interrupt disable PIE3 = 0x20; //enable RC2IE/TX2IE/RTCCIE PIE4 = 0; //enable RC2IE/TX2IE/RTCCIE PIE5 = 0; //enable RC2IE/TX2IE/RTCCIE PIE6 = 0; //enable RC2IE/TX2IE/RTCCIE IPR1 = 0x20; //All peripheral interrupt /time interrupt low priority IPR2 = 0; //All peripheral interrupt /time interrupt low priority IPR3 = 0x20; //All peripheral interrupt /time interrupt low priority IPR4 = 0; //All peripheral interrupt /time interrupt low priority IPR5 = 0; //All peripheral interrupt /time interrupt low priority IPR6 = 0; //All peripheral interrupt /time interrupt low priority MAX485_EN2 = 0; } 中断中的数据接受处理 void interrupt my_isr(void){ static u8 rdata = 0; if(PIR3bits.RC2IF &&PIE3bits.RC2IE ) { rdata = RCREG2; if(Rx_en && RxCounter1 < USART1_R_LEN) { Usart1_rbuff[RxCounter1++] = RCREG2; if(RxCounter1>=USART1_R_LEN) { Rx_en = 0; Usart1_r_finish = 1; } } Comdelay = 2; //20ms????????????????? } if(PIR1bits.RC1IF &&PIE1bits.RC1IE) { rdata = RCREG; if(Rx_en0 && RxCounter < USART_R_LEN) { Usart_rbuff[RxCounter++] = RCREG; if(RxCounter>=USART_R_LEN) { Usart_r_finish = 1; //RxCounter = 0; //Rx_en0 = 0; } } Comdelay0 = 2; //20ms????????????????? } //下面这部分代码是以前别的功能忘了删除了,但是我觉得应该没有对串口假死有影响。 //下面这部分代码是以前别的功能忘了删除了,但是我觉得应该没有对串口假死有影响。 //下面这部分代码是以前别的功能忘了删除了,但是我觉得应该没有对串口假死有影响。 if(INTCONbits.INT0IF) { INTCONbits.INT0IF = 0; // if(WATER) { // Water_pulse = 0; if(dat_set_water.water_chicken <= 65534) dat_set_water.water_chicken+=1; } } } 主程序while1中的串口接受数据处理 //当发生帧错误或者溢出时,初始化串口 if(RCSTA2bits.OERR || RCSTA2bits.FERR) { RCSTA2bits.CREN = 0; config_uart2(); } if(RCSTA1bits.OERR || RCSTA1bits.FERR) { RCSTA1bits.CREN = 0; config_uart1(); } if(Usart1_r_finish) // { Rx_en = 0; //暂时拒绝接受新数据 Usart1_r_finish = 0; com_pro(); //处理数据 RxCounter1 = 0; for(i=0;i
1025浏览量 3回复量 关注量 -
msp430f5529 进不了定时器中断
程序如下,但是进不了中断,有谁知道可以告诉我么? char buffer[255]; int flag = 0,cont = 0; char data[3]= {'0','0','\0'}; uint8_t data1 = 0; uint16_t intialWheelValue = 0; uint16_t wheelValue = 0; FRESULT WriteFile(char* fileName, char* text, WORD size); void TimerB_Init(void); void DataAcq() { char data[3]= {'0','0','\0'}; uint8_t data1 = 0; uint16_t intialWheelValue = 0; uint16_t wheelValue = 0; TimerB_Init(); Dogs102x6_init(); Dogs102x6_clearScreen(); Buttons_interruptEnable(BUTTON_ALL); //按键中断使能 buttonsPressed = 0; intialWheelValue = Wheel_getValue(); // 得到初始齿轮电位计采样值 __enable_interrupt(); //使能全局中断 while(!(buttonsPressed & BUTTON_S2)){ Dogs102x6_stringDraw(3, 45, &data[0], DOGS102x6_DRAW_INVERT); //显示数 wheelValue = Wheel_getValue(); data1 = wheelValue/68; //得到当前齿轮电位计采样值 if (intialWheelValue != wheelValue){ //若当前齿轮电位计采样值与初始齿轮电位计采样值不同,进行小时重置 if (data1 < 10){ data[0] = '0'; data[1] = '0' + data1; } else if (data1 < 20){ data[0] = '1'; data[1] = '0' + (data1 - 10); } else if (data1 < 30){ data[0] = '2'; data[1] = '0' + (data1 - 20); } else if (data1 < 40){ data[0] = '3'; data[1] = '0' + (data1 - 30); } else if (data1 < 50){ data[0] = '4'; data[1] = '0' + (data1 - 40); } else if (data1 < 60){ data[0] = '5'; data[1] = '0' + (data1 - 50); } else { data[0] = '6'; data[1] = '0'; } } } } FRESULT WriteFile(char* fileName, char* text, WORD size) { // Result code FRESULT rc; // File system object FATFS fatfs; // File object FIL fil; UINT bw; // Register volume work area (never fails) f_mount(0, &fatfs); // Open file rc = f_open(&fil, fileName, FA_READ | FA_WRITE | FA_OPEN_ALWAYS); if (rc) { die(rc); } //指针指到文本最后 rc = f_lseek(&fil, f_size(&fil)); if(rc) { die(rc); } // Write to file rc = f_write(&fil, text, size, &bw); if (rc) { die(rc); } // Close the file rc = f_close(&fil); if (rc) { die(rc); } return rc; } /*定时器初始化*/ void TimerB_Init(void) { TB0CCR0 = 32768; TB0CTL = TBSSEL_0+TBCLR+MC_1; // TB0CCTL0 = CCIE; } #pragma vector = TIMERB0_VECTOR __interrupt void Timer_B0(void) { cont = cont+1; if(cont == 1) { cont = 0; flag = 1; buffer[0] = '['; buffer[1] = data[0]; buffer[2] = data[1]; buffer[3] = ']'; WriteFile("1.txt",buffer,4); //写入数据 } }
807浏览量 1回复量 关注量 -
急用,关于程序下载问题 sos
使用的为F28027的开发板,现在在做一个外部中断的下程序,但是程序怎么就下载不进去,尝试新建了几个新的工程都不行,而原先的工程却可以正常下载。 我个人也写过不少C2000的程序,都从来没遇到过这样的问题。 所出现的提示为:wideinterrupt.out could not open file. 最近就要验收了,求指教。
688浏览量 0回复量 关注量 -
请问win7系统下怎样搭建开发环境
我现在用的是win7,64位系统,芯片用的是16F1507,用MPLAB_IDE 8.92挂接HI-TECH PICC9.83,编译不成功,提示:Halting build on first failure as requested.是不是这个版本太旧了,请问各位我应该怎样搭建开发环境啊?谢谢!
1179浏览量 5回复量 关注量 -
新手51单片机流水灯程序问题请教
[color=#333333][backcolor=rgb(255, 255, 255)][font=微软雅黑][size=16px]#include
[/size][/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font=微软雅黑][size=16px]#include [/size][/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font=微软雅黑][size=16px]void delay(void) [/size][/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font=微软雅黑][size=16px] {[/size][/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font=微软雅黑][size=16px] unsigned int i,j,k; [/size][/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font=微软雅黑][size=16px] for(i=20;i>0;i--) [/size][/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font=微软雅黑][size=16px] for(j=20;j>0;j--)[/size][/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font=微软雅黑][size=16px] for(k=248;k>0;k--);[/size][/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font=微软雅黑][size=16px] }[/size][/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font=微软雅黑][size=16px] void main() [/size][/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font=微软雅黑][size=16px] {[/size][/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font=微软雅黑][size=16px] int temp;[/size][/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font=微软雅黑][size=16px] temp=0x01;[/size][/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font=微软雅黑][size=16px] while(1)[/size][/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font=微软雅黑][size=16px] [/size][/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font=微软雅黑][size=16px] {[/size][/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font=微软雅黑][size=16px] [/size][/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font=微软雅黑][size=16px] P1=~temp;[/size][/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font=微软雅黑][size=16px] delay();[/size][/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font=微软雅黑][size=16px] P1=0xff;[/size][/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font=微软雅黑][size=16px] temp=temp<<1;[/size][/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font=微软雅黑][size=16px] if (temp==0x00)[/size][/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font=微软雅黑][size=16px] temp=0x01;[/size][/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font=微软雅黑][size=16px] }[/size][/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font=微软雅黑][size=16px] [/size][/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font=微软雅黑][size=16px] }[/size][/font][/backcolor][/color] [color=#333333][backcolor=rgb(255, 255, 255)][font=微软雅黑][size=16px]想要用[/size][/font][/backcolor][/color][color=rgb(65, 131, 196)][backcolor=rgb(255, 255, 255)][font=微软雅黑][size=16px]单片机[/size][/font][/backcolor][/color][color=#333333][backcolor=rgb(255, 255, 255)][font=微软雅黑][size=16px]左位移[/size][/font][/backcolor][/color][color=rgb(210, 34, 34)][backcolor=rgb(255, 255, 255)][font=微软雅黑][size=16px]指令[/size][/font][/backcolor][/color][color=#333333][backcolor=rgb(255, 255, 255)][font=微软雅黑][size=16px]实现流水灯,程序正确,调试也显示正确,在[/size][/font][/backcolor][/color][color=rgb(65, 131, 196)][backcolor=rgb(255, 255, 255)][font=微软雅黑][size=16px]单片[/size][/font][/backcolor][/color][color=#333333][backcolor=rgb(255, 255, 255)][font=微软雅黑][size=16px]机上运行了一遍也是可以实现,问题在于,当第八个[/size][/font][/backcolor][/color][color=rgb(65, 131, 196)][backcolor=rgb(255, 255, 255)][font=微软雅黑][size=16px]LED[/size][/font][/backcolor][/color][color=#333333][backcolor=rgb(255, 255, 255)][font=微软雅黑][size=16px]熄灭后,要等很长时间后第一个LED才会重新亮起,[/size][/font][/backcolor][/color] 1237浏览量 8回复量 关注量 -
这是怎么回事?
使Intermedia GUI无法用set system config来设置,当选中PHY的PRM Flag栏和/或MAC的Default ARQ Enable栏时,Apply时提示“Unable to set the System Configure Status Code = Invalid Parameter”,这是怎么回事?
700浏览量 3回复量 关注量 -
不管送什么数进去,8个LED都一起灭
利用串口专家向单片机发个数,单片机根据这个数决定哪个LED灯亮。 void interrupt0()interrupt 4 using 1 { i=SBUF; LED=i; } main() { EA=1; ES=1; SCON=0x70; PCON=0; TMOD=0x20; TH1=220; TL1=220; TCON=0x40; } 波特率设定9600,现在的问题是不管送什么数进去,8个LED都一起灭?
954浏览量 18回复量 关注量