今日热门

4

回答

用430单片机芯片智能加湿器 求建议或者推荐些学习方法

大伟 2020-11-17 阅读:375

5

回答

感觉没多少人用这个,流通都很少。

chunyang 2020-10-28 阅读:793

1

回答

就是用MSP432P401R的DMA乒乓模式怎么连续传输ADC采集的数据。下面是程序,不能实现功能,有些错误,请大神指教。#include "u_dma.h"#include <ti/devices/msp432p4xx/driverlib/driverlib.h>#include "uart_calc.h"#include "ADC.h"#define   DAM_SIZE    8000/@@* DMA Control Table  这一段是必须要有的*/#if defined(__TI_COMPILER_VERSION__)#pragma DATA_ALIGN(controlTable 1024)#elif defined(__IAR_SYSTEMS_ICC__)#pragma data_alignment=1024#elif defined(__GNUC__)__attribute__ ((aligned (1024)))#elif defined(__CC_ARM)__align(1024)#endifuint8_t controlTable[1024];volatile int switch_data = 0;uint32_t k=0;uint8_t data_array1[DAM_SIZE];extern void delay(uint16_t z);void DMA_confing(void){    MAP_WDT_A_holdTimer();       //关闭看门狗   memset(data_array1 0x11 DAM_SIZE);     //目标数组初始化 // printf("123\n");   GPIO_setAsOutputPin(GPIO_PORT_P1GPIO_PIN0);   GPIO_setAsOutputPin(GPIO_PORT_P2GPIO_PIN1);   GPIO_setOutputHighOnPin(GPIO_PORT_P1GPIO_PIN0);   DMA_enableModule();              //使能DMA模块   DMA_setControlbase(controlTable);      //设置控制表基地址   DMA_disableChannelAttribute(DMA_CH7_ADC14                                 UDMA_ATTR_ALTSELECT | UDMA_ATTR_USEBURST |                                 UDMA_ATTR_HIGH_PRIORITY |                                 UDMA_ATTR_REQMASK);         //禁用通道特征   DMA_setChannelControl(UDMA_PRI_SELECT | DMA_CH7_ADC14UDMA_SIZE_16 | UDMA_SRC_INC_NONE | UDMA_DST_INC_16 | UDMA_ARB_1);     //设置通道控制参数   ADC映射          主数据结构       8位数据大小    源地址增量        目标地址增量      传输数量   DMA_setChannelTransfer(UDMA_PRI_SELECT | DMA_CH7_ADC14UDMA_MODE_PINGPONG (void*) &ADC14->MEM[0]data_array1 DAM_SIZE);       //设置通道传输参数      ADC映射        主数据结构         乒乓模式        源数据                  目标数据    传输数量      DMA_setChannelControl(UDMA_ALT_SELECT | DMA_CH7_ADC14UDMA_SIZE_16 | UDMA_SRC_INC_NONE | UDMA_DST_INC_16 | UDMA_ARB_1);     //设置通道控制参数   ADC映射          主数据结构       8位数据大小    源地址增量        目标地址增量      传输数量      DMA_setChannelTransfer(UDMA_ALT_SELECT | DMA_CH7_ADC14UDMA_MODE_PINGPONG (void*) &ADC14->MEM[0]data_array1 DAM_SIZE);     //设置通道传输参数      ADC映射        主数据结构         乒乓模式        源数据                  目标数据    传输数量 DMA_requestChannel(7);      //通道7请求传输 DMA_assignChannel(DMA_CH7_ADC14);    //指定外设映射 DMA_assignInterrupt(DMA_INT1 7);    Interrupt_enableInterrupt(INT_DMA_INT1);    DMA_clearInterruptFlag(7);    Interrupt_enableMaster(); DMA_enableChannel(7);    ADC14_enableConversion(); }  /@@***DMA传输完成中断*****/void DMA_INT1_IRQHandler(void){   GPIO_setOutputHighOnPin(GPIO_PORT_P2GPIO_PIN1);     //GPIO_toggleOutputOnPin(GPIO_PORT_P2GPIO_PIN1);     //delay(100);     //GPIO_toggleOutputOnPin(GPIO_PORT_P2GPIO_PIN1);   DMA_requestChannel(7);      //通道7请求传输 DMA_assignChannel(DMA_CH7_ADC14);    //指定外设映射 DMA_assignInterrupt(DMA_INT1 7);    Interrupt_enableInterrupt(INT_DMA_INT1);    DMA_clearInterruptFlag(7);    Interrupt_enableMaster(); DMA_enableChannel(7);    ADC14_enableConversion();   printf("%d%d%d\n"data_array1[k++]data_array1[k++]data_array1[k++]);     //GPIO_setOutputLowOnPin(GPIO_PORT_P2GPIO_PIN1);    /@@* Switch between primary and alternate bufferes with DMA's PingPong mode */     if (DMA_getChannelAttribute(7) & UDMA_ATTR_ALTSELECT)    {        DMA_setChannelControl(UDMA_PRI_SELECT | DMA_CH7_ADC14            UDMA_SIZE_16 | UDMA_SRC_INC_NONE | UDMA_DST_INC_16 | UDMA_ARB_1);        DMA_setChannelTransfer(UDMA_PRI_SELECT | DMA_CH7_ADC14            UDMA_MODE_PINGPONG (void*) &ADC14->MEM[0]            data_array1 DAM_SIZE);        switch_data = 1; printf("%d%d%d\n"data_array1[k++]data_array1[k++]data_array1[k++]); DMA_requestSoftwareTransfer(0);    }    else    {        DMA_setChannelControl(UDMA_ALT_SELECT | DMA_CH7_ADC14            UDMA_SIZE_16 | UDMA_SRC_INC_NONE | UDMA_DST_INC_16 | UDMA_ARB_1);        DMA_setChannelTransfer(UDMA_ALT_SELECT | DMA_CH7_ADC14            UDMA_MODE_PINGPONG (void*) &ADC14->MEM[0]            data_array1 DAM_SIZE);        switch_data = 0; printf("%d%d%d\n"data_array1[k++]data_array1[k++]data_array1[k++]); DMA_requestSoftwareTransfer(0);    } }​

40d0dae3c436b31a 2020-10-07 阅读:3064

2

回答

msp430定时器A有7种输出模式可产生不同的PWM信号,我想问一下这个输出模式6,和7有啥不一样,或者说他们在手册上给的波形图是一样的,是不是表示他两只能产生一样的PWM信号。

c358c7247f126f88 2020-07-06 阅读:678

3

回答

智能卡读卡设备晶振大多运用在什么产品上面

6bc9ab450e050a5f 2020-05-27 阅读:497

1

回答

二总线技术为什么下行采用电压信号,上午采用电流信号?是什么传输的

01e11ddfc1af0714 2020-05-15 阅读:1156

3

回答

MSP430的ADC可以支持几个通道转换

alexyq 2020-03-15 阅读:706

4

回答

MSP430内部一共有几个ADC外设

alexyq 2020-03-09 阅读:1009

7

回答

msp430是咋样实现复位功能的?

b7428d82d46f4d2c 2019-12-02 阅读:844

1

回答

最近想通过Multisim反正一些瞬态的波形如RC复位电路,哪位大神可以指点一下,我入门。谢谢

有花堪折 2019-11-14 阅读:727

0

回答

TI运动手表ez430chronos套件的编程器找不到了,想玩玩手表(CC430),可以用哪个开发板上的编程器替代,手里有MSP430G2,CC3200,FR3XX

DLGG创客DIY 2019-08-30 阅读:943

1

回答

最近想玩玩大气压传感器,想起手上还有TI的Chronos手表套件,上边有个大气压传感器,但是CCS开发环境不好用,求推荐类似arduino那样的,简单粗暴无脑的开发环境,当然得带ez430-Chronos库函数的,energia好像不支持CC430吧?​​

DLGG创客DIY 2019-08-22 阅读:925

2

回答

总是显示串口不存在,请问各位大佬有没有遇到过这种情况,江湖救急如果有其他方法下载的也行

4c248e9b6bbeb722 2019-05-25 阅读:1191

1

回答

(1)MSP430单片机系列,有4种型号。两款Flash系列,两款铁电FRAM系列。~MSP-EXP430F5529LP~MSP-EXP430G2ET~MSP-EXP430FR5994~MSP-EXP430FR6989(2)ARM系列处理器,有3款。ARM Cortex M4F内核,带浮点运算单元。~MSP-EXP432P401R~MSP-EXP432E401Y~EK-TM4C123GXL(3)DSP有两款,都是C2000系列。~LAUNCHXL-F28027F~LAUNCHXL-F28069M

ce4c4061e82c2fde 2019-05-24 阅读:1087

0

回答

之前使用P1.4到P1.7作为数据输出到LCD我已经成功但是通过改变引脚即P1.2到P1.5作为我的数据输出引脚到LCD,它就不起作用了。这是什么问题,谢谢,下面是我的代码。#define CMD 0#define DATA 1#define LCD_OUT P1OUT#define LCD_DIR P1DIR#define D4 BIT4#define D5 BIT5#define D6 BIT6#define D7 BIT7#define RS BIT2#define EN BIT3// Delay function for producing delay in 0.1 ms incrementsvoid delay(uint8_t t){uint8_t i;for(i=t; i > 0; i--)__delay_cycles(100);}// Function to pulse EN pin after data is writtenvoid pulseEN(void){LCD_OUT |= EN;delay(1);LCD_OUT &= ~EN;delay(1);}//Function to write data/command to LCDvoid lcd_write(uint8_t value uint8_t mode){if(mode == CMD)LCD_OUT &= ~RS; // Set RS -> LOW for Command modeelseLCD_OUT |= RS; // Set RS -> HIGH for Data modeLCD_OUT = ((LCD_OUT & 0x0F) | (value & 0xF0)); // Write high nibble firstpulseEN();delay(1);LCD_OUT = ((LCD_OUT & 0x0F) | ((value << 4) & 0xF0)); // Write low nibble nextpulseEN();delay(1);}// Function to print a string on LCDvoid lcd_print(char *s){while(*s){lcd_write(*s DATA);s++;}}// Function to move cursor to desired position on LCDvoid lcd_setCursor(uint8_t row uint8_t col){const uint8_t row_offsets[] = { 0x00 0x40};lcd_write(0x80 | (col + row_offsets[row]) CMD);delay(1);}// Initialize LCDvoid lcd_init(){//P2SEL &= ~(BIT6+BIT7);LCD_DIR |= (D4+D5+D6+D7+RS+EN);LCD_OUT &= ~(D4+D5+D6+D7+RS+EN);delay(150); // Wait for power up ( 15ms )lcd_write(0x33 CMD); // Initialization Sequence 1delay(50); // Wait ( 4.1 ms )lcd_write(0x32 CMD); // Initialization Sequence 2delay(1); // Wait ( 100 us )// All subsequent commands take 40 us to execute except clear & cursor return (1.64 ms)lcd_write(0x28 CMD); // 4 bit mode 2 linedelay(1);lcd_write(0x0F CMD); // Display ON Cursor ON blink ONdelay(1);lcd_write(0x01 CMD); // Clear screendelay(20);lcd_write(0x06 CMD); // Auto Increment Cursordelay(1);lcd_setCursor(00); // Goto Row 1 Column 1}void main(void){WDTCTL = WDTPW + WDTHOLD; // stop watchdoglcd_init();lcd_setCursor(05);lcd_print("hello");// lcd_setCursor(15);//lcd_print("lcd");lcd_setCursor(00);while(1);}​

cd422c4e1abf4d5a 2019-05-22 阅读:991

7

回答

MSP430F5438最多可以做到几个UART口通信

kbqSign 2019-04-25 阅读:1195

3

回答
tm4c123g单片机 单片机

tm4c123g单片机是用什么软件烧录程序的,编程的软件是什么

c3a385def9d395ec 2019-03-31 阅读:1421

5

回答

有什么办法能查找原因吗

alexyq 2019-03-25 阅读:1086

1

回答

MSP430的中断唤醒模式有哪些唤醒源

渐臻佳境 2019-03-23 阅读:1212

8

回答

为什么会出现这种情况

hotset 2019-03-18 阅读:1264
  • 帮助人数
  • 0
  • 获得赞数
  • 0
  • 一周积分
  • 0

问题达人换一批

本月问答

排名
用户名
问答积分
< >