问答

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

21ic问答首页 - TAG - TI
  • 赛元单片机触摸没反应,新手求带。。。

    按照指南操作静态码调试正常,在我的板子上从Touch key Tool Menu图表窗口可以看到手触摸的时候波形变化,也成功变成绿色,但是不知道怎么调试动态,因为静态是用的他们官网下载的静态码直接烧录就可以了,而动态没有直接烧录的码,要从自己的代码里面做进去,就复杂了,按照他们指南操作下来弄了一天硬是一点反应没有,求大哥大姐指导: //************************************************************ // Copyright (c) 深圳市赛元微电子有限公司 // 文件名称 : main.c // 作者 : Yanni // 模块功能 : SC91F8311触控DEMO // 最后更正日期: // 版本 : 2015-12-25: // : //************************************************************* #include "h\SC92F836XB_C.h" #include #include "h\data_type.h" #include "lib\SensorMethod.h" #define _TOUCHKEY_DEBUG_ #ifdef _TOUCHKEY_DEBUG_ #include "SOC_DebugTouchKey_Lib\SOC_DebugTouchKey.h" #endif #define nop _nop_(); //??? //*****************全局变量区*************************************************** INT32U exKeyValueFlag = 0; //当前轮按键标志 INT8U Timercount = 0; //定时器计数 //BOOL TimerFlag_1ms = 0; //定时器1MS标志 uchar a,b,c; //*****************全局变量区*************************************************** BOOL TimerFlag_1s,TimerFlag_1ms,TimerFlag_10s = 0; //定时器1MS标志 INT8U Flag_1s ,Flag_1ms,Flag_10s=0; INT8U gTkIsValid = 0; //按键有效标志 INT8U exKeyValue = 0; //当前轮按键键值 INT8U KeyValue = 0; //按键键值 sbit sda=P2^5; //TM1640??? sbit scl=P2^6; //TM1640??? uchar dis[]={0xFE,0x30,0xD5,0x75,0x39,0x6F,0xEF,0x34,0xFF,0x7F,0xBF,0xFF,0xCE,0xF3,0xCF,0x8F,0xFF,0xff};//??? // //0 1 2 3 4 5 6 7 8 9 a b c d e f ?? ?? void delay(INT16U z) //????? { uint x,y; for(x=z;x>0;x--) for(y=487;y>0;y--); } //*********START*********************************************** void start() //1640?? { sda=1; nop nop scl=1; nop nop sda=0; } //************************************************************** void stop() //1640?? { scl=0; nop nop sda=0; scl=1; nop nop sda=1; nop nop } //*********************************************************** void write(uchar date) //1640??? { uchar i; for(i=0;i<8;i++) { scl=0; if(date&0x01) { sda=1; nop nop } else { sda=0; nop nop } scl=1; nop date=date>>1; } } //**************?TM1640??????*************************** void send(uchar T,uchar time,uchar led) { uchar i; start(); write(0x44); //设置芯片工作模式,这里选地址自动加1 stop(); start(); write(0xc0);//设置首地址,数码管的位选值 for(i=0;i<16;i++)//地址自加不必每次都写地址,传输显示数据,最多16字节不能多写 { if(i==0)write(dis[T/100]); //GRID1 if(i==1)write(dis[T/10%10]); //GRID2 if(i==2)write(dis[T%10]); //GRID3 if(i==3)write(dis[time/10]); //GRID4 if(i==4)write(dis[time%10]); //GRID5 if(i==5)write(led&0xff); //GRID6 if(i==6)write(0x00); if(i==7)write(0x00); if(i==8)write(led&0xff); //GRID9 if(i==9)write(0x00); if(i==10)write(0x00); if(i==11)write(0x00); if(i==12)write(0x00); if(i==13)write(0x00); if(i==14)write(0x00); if(i==15)write(led&0xff);//GRID16 delay(20); } stop(); start(); write(0x89); //亮度选择 stop(); } /************************************************** *函数名称:void TimerInit(void) *函数功能:定时器初始化 *入口参数:void *出口参数:void **************************************************/ void TimerInit(void) { TMCON = (TMCON&0xfe)|(0<<0); //bit0: 0为FOSC/12,1为FOSO TMOD = TMOD&0xf0; //设置定时0,工作方式0 TMOD = TMOD|0x00; TH0=(8192-1000)/32; //1000*1=1000us ,1MS TL0=(8192-1000)%32; TF0 = 0; //清中断标志 TR0=0; //关定时器0 ET0=1; //使能定时器0中断 TR0=1; } /************************************************** *函数名称:void timer0()interrupt 1 *函数功能:定时器中断服务函数 *入口参数:void *出口参数:void **************************************************/ void timer0()interrupt 1 { TH0 = (8192-1000)/32; //2000*1/4us=500us TL0 = (8192-1000)%32; TimerFlag_1ms = 1; } /************************************************** *函数名称:void Sys_Init(void) *函数功能:系统初始化 *入口参数:void *出口参数:void **************************************************/ void Sys_Init(void) { WDTCON = 0x10; //1--1 -- 00 开WDT,WDT清0,WDT 524.288ms溢出;烧录时,可Code Option选择ENWDT //TK对应的IO设置为强推挽输出1 P0CON = 0xFF; P0PH = 0xFF; P1CON = 0xFF; P1PH = 0xFF; P2CON = 0xFF; P2PH = 0xFF; P0 = 0xFF; P1 = 0xFF; P2 = 0xFF; P5 = 0x00; EA = 1; //开总中断 TimerInit(); //定时器初始化 } /************************************************** *函数名称:void ChangeTouchKeyvalue(void) *函数功能:转换TK键值 *入口参数:void *出口参数:void **************************************************/ void ChangeTouchKeyvalue(void) { switch(exKeyValueFlag) { //不同间距不同大小的按键 case 0x00000001:exKeyValue = 1;break; case 0x00000002:exKeyValue = 2;break; case 0x00000004:exKeyValue = 3;break; case 0x00000006:exKeyValue = 4;break; case 0x0000001f:exKeyValue = 5;break; default:exKeyValue = 0xff;break; } } /************************************************** *函数名称:void UpdateLcdBufFunc(void) *函数功能:更新显示数据函数 *入口参数:void *出口参数:void **************************************************/ void UpdateLcdBufFunc(void) { if(exKeyValue != 0xff) {a++; if(gTkIsValid == 0) //松手前只出一次键 { gTkIsValid = 1; KeyValue=exKeyValue; switch(KeyValue) { //不同间距不同大小的按键 case 1:a++; //break; case 2:b=55;break; case 3:c=11;break; case 4:b=26;break; case 5:c=1;break; default:exKeyValue = 0xff;break; } } } else { gTkIsValid = 0; } } /************************************************** *函数名称:void Sys_Scan(void) *函数功能:扫描TK和显示 *入口参数:void *出口参数:void **************************************************/ /* void Sys_Scan(void) { if(SOCAPI_TouchKeyStatus&0x80) //重要步骤2: 触摸键扫描一轮标志,是否调用TouchKeyScan()一定要根据此标志位置起后 { SOCAPI_TouchKeyStatus &= 0x7f; //重要步骤3: 清除标志位, 需要外部清除。 exKeyValueFlag = TouchKeyScan();//按键数据处理函数 TouchKeyRestart(); //启动下一轮转换 } } */ /************************************************** *函数名称:void Sys_Scan(void) *函数功能:扫描TK和显示 *入口参数:void *出口参数:void **************************************************/ void Sys_Scan(void) { if(SOCAPI_TouchKeyStatus&0x80) //重要步骤2: 触摸键扫描一轮标志,是否调用TouchKeyScan()一定要根据此标志位置起后 { SOCAPI_TouchKeyStatus &= 0x7f; //重要步骤3: 清除标志位, 需要外部清除。 exKeyValueFlag = TouchKeyScan();//按键数据处理函数 ChangeTouchKeyvalue(); //转换键值 UpdateLcdBufFunc(); //更新显示数据 TouchKeyRestart(); //启动下一轮转换 } } /************************************************** *函数名称:void main(void) *函数功能:主函数 *入口参数:void *出口参数:void **************************************************/ void main(void) { Sys_Init();//触控按键初始化 #ifdef _TOUCHKEY_DEBUG_SOCAPI_ DeBugTouchKey_Init(); #endif TouchKeyInit(); while(1) { WDTCON = 0x10; send(a,b,c); //if(exKeyValueFlag==0) if(TimerFlag_1ms==1) { TimerFlag_1ms=0; Timercount++; if(Timercount>10) { Timercount=0; Sys_Scan(); } } } }

    触摸 单片机 ST TI timer

    576浏览量 4回复量 关注量
  • CC2640R2F在ccs中烧写工程失败求帮助!

    利用CCS对CC2640R2F板子在烧写官方给的simplelink_cc2640r2_sdk_3_40_00_10中的rtls_slave的工程时,总是失败,且给的失败原因是: Cortex_M3_0: Can't Run Target CPU: (Error -2134 [url=home.php?mod=space&uid=72445]@[/url] 0x0) Unable to control device execution state. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 8.2.0.00004) Cortex_M3_0: Error: (Error -1170 @ 0x0) Unable to access the DAP. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 8.2.0.00004) Cortex_M3_0: Unable to determine target status after 20 attempts Cortex_M3_0: Failed to remove the debug state from the target before disconnecting. There may still be breakpoint op-codes embedded in program memory. It is recommended that you reset the emulator before you connect and reload your program before you continue debugging Cortex_M3_0: Failed to write data to temporary buffer in RAM before programming device FLASH memory. addr=0x20000C00, writeLength=4096(0x1000), bufIdx=0 Error: Could not write 0x20000C00: target is not connected Cortex_M3_0: File Loader: Memory write failed: Failed to write data to temporary buffer in RAM before programming device FLASH memory. Cortex_M3_0: GEL: File: E:\workspace_v9\rtls_slave_cc2640r2lp_app\FlashROM_StackLibrary\rtls_slave_cc2640r2lp_app.out: Load failed. 应该怎么解决,有没有人可以帮忙解决一下

    ccs CC2640R2F 烧写 TE TI

    6236浏览量 1回复量 关注量
  • 请问CC1352R如何做到一次发送的数据大于20个字节?

    SDK版本是simplelink_cc13x2_26x2_sdk_4_30_00_54。在例程simle_peripheral上进行的修改. 通过GATT_Notification函数操作特征值4.通过sysconfig把 MAX_PDU_SIZE 修改为255.在周期性任务中调用了一次HCI_LE_SetDataLenCmd(connList[0].connHandle,251,2120)。但是还是不能一次性传输超过20个字节。请问该怎么做才能实现超过20个字节的发送呢?谢谢。

    sd sdk SIM TI pd

    7902浏览量 1回复量 关注量
  • x2.exe 影响关联,谁遇到过这样的问题吗? sos

    win10系统,altium designer20.0.2装好以后关联出了问题,如图: .c文件关联被改成x2.exe,怎么改都改不动,删除所有x2.exe的注册表项也没用[em:8:] [attach]1571912[/attach]

    AC altiumdesign TI win10 AltiumDesigner

    318浏览量 0回复量 关注量
  • MSP430F169的ADC12采样率问题

    求高手点拨。 想要使用单通道连续采样,工作在最高采样率。但是用TI的例程实测,采样率都低太多。 时钟用ADC内部振荡器,约5MHz,2个采样周期+13个转换周期,计算下来应该4us左右采一个点。 但是,输入5kHz的正方波——100us高电平, 采下来高电平就采到2、3个值,低电平采到1、2个值,感觉30多us才采了一个点。 IAR编译,自己画的开发板,代码如下: #include #include "..\com\delay.h" #define Num_of_Results 30 static unsigned int results[Num_of_Results]; // Needs to be global in this // example. Otherwise, the // compiler removes it because it // is not used for anything. static unsigned int index = 0; unsigned char ir; void main(void) { WDTCTL = WDTPW+WDTHOLD; // Stop watchdog timer /* for test */ P1DIR |= BIT0; // 上电指示 P1OUT |= BIT0; P2DIR |= BIT6; // ADC12CLK P2SEL |= BIT6; // Vref+ 在pin7测试 P5DIR |= 0x70; // P5.6,5,4 outputs P5SEL |= 0x70; // P5.6,5,4 options, ACLK, SMCLK, MCLK /**/ P6SEL |= 0x01; // Enable A/D channel A0 ADC12CTL0 = ADC12ON + SHT0_2 + REFON + MSC; // Turn on ADC12, set sampling time ADC12CTL1 = SHP + CONSEQ_2; // Use sampling timer, single-repeat mode, default: ADC12CLK = ADC12OSC(about 5MHz) ADC12MCTL0 = SREF_1; // Vr+=Vref+ ADC12IE = 0x01; // Enable ADC12IFG.0 delay_ms(20); ADC12CTL0 |= ENC; // Enable conversions ADC12CTL0 |= ADC12SC; // Start conversion _BIS_SR(LPM0_bits + GIE); // Enter LPM0,Enable interrupts } #pragma vector=ADC12_VECTOR __interrupt void ADC12ISR (void) { results[index] = ADC12MEM0; // Move results index = (index+1)%Num_of_Results; // Increment results index, modulo }

    MSP430F169 ADC1 se TI results

    290浏览量 3回复量 关注量
  • 我的捕获程序只能进一次中断怎么办求大神 sos

    void setclock(void) { WDTCTL = WDTPW + WDTHOLD; // watchdog timer setup if (CALBC1_1MHZ ==0xFF || CALDCO_1MHZ == 0xFF) { while(1); // If cal constants erased, trap CPU!! } BCSCTL1 = CALBC1_1MHZ; // Set range DCOCTL = CALDCO_1MHZ; // Set DCO step + modulation IFG1 &= ~OFIFG; } void settimer(){ TACTL=TACLR; TACTL=TASSEL_2+MC_2; TACCTL1=CM_3+CCIS_0+CAP+CCIE; TACCTL1&=~CCIFG; _EINT(); } void setgpio(){ P1DIR=0X01; P1OUT=0X01; P1SEL=BIT2+BIT1; } void main(void) { setclock(); setgpio(); settimer(); while(1); } #pragma vector=TIMER0_A1_VECTOR __interrupt void Timer_A (void) { if(TACCTL1&CCIFG){ TACCTL1&=CCIFG; //CC=CCR1-C; //C=CCR1; P1OUT^=BIT0; } }

    se AC TI timer hz

    222浏览量 0回复量 关注量
  • OTA升级问题

    目前我从事摩托车行业,准备像汽车行业一样做OTA远程升级,需要TBOX和网络的支持,但我目前对我使用的MCU(TI的TMS320F28035)的了解仅仅是在bootloadr的时候刷新数据,问题就是还有没有其它需要了解的知识。

    OTA boot f28035 TI TMS320

    411浏览量 1回复量 关注量
  • CH579 BLE的sleep时间单位是什么

    WAKE_UP_RTC_MAX_TIME - 睡眠唤醒所需时间,根据不同睡眠类型取值可分为:睡眠模式/下电模式 - 65(默认) 这个单位是什么?ms?还是计数值?

    sleep BLE RTC TI tc

    422浏览量 5回复量 关注量
  • 华为的鸿蒙OS的开源版权声明属于哪类?

    这是代码中的版权声明 这个版权声明属于哪类? /* * Copyright (c) 2013-2019, Huawei Technologies Co., Ltd. All rights reserved. * Copyright (c) 2020, Huawei Device Co., Ltd. All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this list of * conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright notice, this list * of conditions and the following disclaimer in the documentation and/or other materials * provided with the distribution. * * 3. Neither the name of the copyright holder nor the names of its contributors may be used * to endorse or promote products derived from this software without specific prior written * permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */

    os 华为 鸿蒙 开源 TI

    12113浏览量 2回复量 关注量
  • Modelsim仿真FIR IP核遇到问题 sos

    在自己的设计中调用Quartusii生成的firIP核,我的设计是verilg,fir的顶层是verilog,功能实现全是vhdl。然后在modelsim中进行仿真,仿真时提示错误Instantiation of 'fir_top_0002' failed.quartus版本是13.0 modelsim版本是 modelsim_altera 10.1d 百度也查不到。。求助高手。。

    modelsim 仿真 FIR ip核 TI

    312浏览量 0回复量 关注量
  • 函数返回值是多少?

    uint32 Systick_Config (uint32 ticks ) { if ( (ticks-1UL) >0xFFFFFFUL) { return 1UL; } return 0UL; } 疑问,当ticks的值为0时,函数返回值是多少?

    函数 TI ic ck return

    884浏览量 31回复量 关注量
  • Multisim削顶

    [i=s] 本帖最后由 Rsq777 于 2020-9-5 01:22 编辑 [/i] [em:tsj10:][img][/img] 我是multisim初学者,在自己初次尝试时,多次碰壁,如图所示,不管怎么调试都会出现这个情况,希望有老师能指导一下。{:victory:}

    Multi multisim SIM TI 调试

    427浏览量 4回复量 关注量
  • STC89C52单片机串口通信问题,求解答

    使用的是STC89C52单片机,从另一个芯片上通过串口忘单片机上传数据,在串口调试助手上能看到传到单片机的数据,但是程序没有反应,求问大佬们为什么,多谢啦 #include void UsartConfiguration(); unsigned char num = 'A'; sbit LED2=P2^0; void delay(unsigned int i) //延时函数 { unsigned int k; for (k=0;k

    串口通信 单片机串口 STC89C52单片机 unsigned TI

    1056浏览量 4回复量 关注量