历史上的今天
返回首页

历史上的今天

今天是:2024年09月10日(星期二)

正在发生

2019年09月10日 | 串口控制LED点亮stm32中断 跑马灯

2019-09-10 来源:eefocus

/**


@file : main.c

@brief : Main program body

** This notice applies to any and all portions of this file


that are not between comment pairs USER CODE BEGIN and

USER CODE END. Other portions of this file, whether

inserted by the user or by software development tools

are owned by their respective copyright owners.

COPYRIGHT© 2019 STMicroelectronics

Redistribution and use in source and binary forms, with or without modification,

are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice,

 this list of conditions and the following disclaimer.


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.


Neither the name of STMicroelectronics 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.

/

/ Includes ------------------------------------------------------------------*/

#include “main.h”

#include “stm32f0xx_hal.h”


/* USER CODE BEGIN Includes */


/* USER CODE END Includes */


/* Private variables ---------------------------------------------------------*/

TIM_HandleTypeDef htim14;


UART_HandleTypeDef huart1;


/* USER CODE BEGIN PV /

/ Private variables ---------------------------------------------------------*/

uint8_t n_led = 0x01;

uint8_t v_led = 0x00;

uint8_t led_reg =0x00;


uint8_t aTxBuffer1[4]= “done”;

uint8_t aRxBuffer1[8];

uint8_t flag = 0x00;

/* USER CODE END PV */


/* Private function prototypes -----------------------------------------------*/

void SystemClock_Config(void);

static void MX_GPIO_Init(void);

static void MX_USART1_UART_Init(void);

static void MX_TIM14_Init(void);


/* USER CODE BEGIN PFP /

/ Private function prototypes -----------------------------------------------/

void led_matrix(uint8_t n_led,uint8_t state);

/ USER CODE END PFP */


/* USER CODE BEGIN 0 */


/* USER CODE END 0 */


/**


@brief The application entry point.

@retval None

/

int main(void)

{

/ USER CODE BEGIN 1 */

/* USER CODE END 1 */


/* MCU Configuration----------------------------------------------------------*/


/* Reset of all peripherals, Initializes the Flash interface and the Systick. */

HAL_Init();


/* USER CODE BEGIN Init */


/* USER CODE END Init */


/* Configure the system clock */

SystemClock_Config();


/* USER CODE BEGIN SysInit */


/* USER CODE END SysInit */


/* Initialize all configured peripherals /

MX_GPIO_Init();

MX_USART1_UART_Init();

MX_TIM14_Init();

/ USER CODE BEGIN 2 /

HAL_TIM_Base_Start_IT(&htim14);

/ USER CODE END 2 */


/* Infinite loop /

/ USER CODE BEGIN WHILE */


HAL_UART_Receive_IT(&huart1,aRxBuffer1,8);          // Enable the USART1 Interrupt


for (uint8_t i = 1; i<9;i++)

{

led_matrix(i,1);

HAL_Delay(50);

}

for (uint8_t i = 8; i>0;i--)

{

led_matrix(i,0);

HAL_Delay(50);

}

while (1)


{


/* USER CODE END WHILE */


/* USER CODE BEGIN 3 */

if (flag == 0x01)

{

HAL_UART_Transmit(&huart1,aTxBuffer1,4,10); // 接收到数据马上使用串口1发送出去

HAL_UART_Receive_IT(&huart1,aRxBuffer1,8); // 重新使能串口1接收中断


for (int i = 1;i<9;i++)

{

if(aRxBuffer1[i-1] == '1')

led_matrix(i,1);

else

led_matrix(i,0);

}

flag = 0x00;

}


}


/* USER CODE END 3 */


}


/**


@brief System Clock Configuration

@retval None

*/

void SystemClock_Config(void)

{

RCC_OscInitTypeDef RCC_OscInitStruct;

RCC_ClkInitTypeDef RCC_ClkInitStruct;

RCC_PeriphCLKInitTypeDef PeriphClkInit;


/**Initializes the CPU, AHB and APB busses clocks 

*/

1

2

RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;

RCC_OscInitStruct.HSIState = RCC_HSI_ON;

RCC_OscInitStruct.HSICalibrationValue = 16;

RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;

RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;

RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL4;

RCC_OscInitStruct.PLL.PREDIV = RCC_PREDIV_DIV1;

if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)

{

_Error_Handler(FILE, LINE);

}


/**Initializes the CPU, AHB and APB busses clocks 

*/

1

2

RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK

|RCC_CLOCKTYPE_PCLK1;

RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;

RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV2;

RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;


if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK)

{

_Error_Handler(FILE, LINE);

}


PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_USART1;

PeriphClkInit.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK1;

if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)

{

_Error_Handler(FILE, LINE);

}


/**Configure the Systick interrupt time 

*/

1

2

HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);


/**Configure the Systick 

*/

1

2

HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);


/* SysTick_IRQn interrupt configuration */

HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);

}


/* TIM14 init function */

static void MX_TIM14_Init(void)

{


htim14.Instance = TIM14;

htim14.Init.Prescaler = 800-1;

htim14.Init.CounterMode = TIM_COUNTERMODE_UP;

htim14.Init.Period = 10-1;

htim14.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;

htim14.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE;

if (HAL_TIM_Base_Init(&htim14) != HAL_OK)

{

_Error_Handler(FILE, LINE);

}


}


/* USART1 init function */

static void MX_USART1_UART_Init(void)

{


huart1.Instance = USART1;

huart1.Init.BaudRate = 38400;

huart1.Init.WordLength = UART_WORDLENGTH_8B;

huart1.Init.StopBits = UART_STOPBITS_1;

huart1.Init.Parity = UART_PARITY_NONE;

huart1.Init.Mode = UART_MODE_TX_RX;

huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;

huart1.Init.OverSampling = UART_OVERSAMPLING_16;

huart1.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;

huart1.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;

if (HAL_UART_Init(&huart1) != HAL_OK)

{

_Error_Handler(FILE, LINE);

}


}


/** Configure pins as

* Analog

* Input

* Output

* EVENT_OUT

* EXTI

*/

static void MX_GPIO_Init(void)

{


GPIO_InitTypeDef GPIO_InitStruct;


/* GPIO Ports Clock Enable */

__HAL_RCC_GPIOF_CLK_ENABLE();

__HAL_RCC_GPIOA_CLK_ENABLE();

__HAL_RCC_GPIOB_CLK_ENABLE();


/*Configure GPIO pin Output Level */

HAL_GPIO_WritePin(GPIOF, PF0_Pin|PF1_Pin, GPIO_PIN_RESET);


/*Configure GPIO pin Output Level */

HAL_GPIO_WritePin(GPIOA, Crtl0_Pin|Crtl1_Pin|Crtl2_Pin|Crtl3_Pin

|Crtl4_Pin|Crtl5_Pin|PA8_Pin|H4_Pin

|H3_Pin|H2_Pin|H1_Pin|V2_Pin, GPIO_PIN_RESET);


/*Configure GPIO pin Output Level */

HAL_GPIO_WritePin(GPIOB, Crtl6_Pin|Crtl7_Pin|V1_Pin|PB4_Pin

|PB5_Pin|PB6_Pin|PB7_Pin, GPIO_PIN_RESET);


/*Configure GPIO pins : PF0_Pin PF1_Pin */

GPIO_InitStruct.Pin = PF0_Pin|PF1_Pin;

GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;

GPIO_InitStruct.Pull = GPIO_NOPULL;

GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;

HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);


/*Configure GPIO pins : Crtl0_Pin Crtl1_Pin Crtl2_Pin Crtl3_Pin

Crtl4_Pin Crtl5_Pin PA8_Pin H4_Pin

H3_Pin H2_Pin H1_Pin V2_Pin */

GPIO_InitStruct.Pin = Crtl0_Pin|Crtl1_Pin|Crtl2_Pin|Crtl3_Pin

|Crtl4_Pin|Crtl5_Pin|PA8_Pin|H4_Pin

|H3_Pin|H2_Pin|H1_Pin|V2_Pin;

GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;

GPIO_InitStruct.Pull = GPIO_NOPULL;

GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;

HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);


/*Configure GPIO pins : Crtl6_Pin Crtl7_Pin V1_Pin PB4_Pin

PB5_Pin PB6_Pin PB7_Pin */

GPIO_InitStruct.Pin = Crtl6_Pin|Crtl7_Pin|V1_Pin|PB4_Pin

|PB5_Pin|PB6_Pin|PB7_Pin;

GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;

GPIO_InitStruct.Pull = GPIO_NOPULL;

GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;

HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);


}


/* USER CODE BEGIN 4 */

void led_matrix(uint8_t n_led,uint8_t state)

{

if(state == 0x01)

{

switch (n_led)

{

case 0x01:

led_reg = led_reg|0x01;

break;


case 0x03:

led_reg = led_reg|0x02;

break;

case 0x05:

led_reg = led_reg|0x04;

break;

case 0x07:

led_reg = led_reg|0x08;

break;

case 0x02:

led_reg = led_reg|0x10;

break;

case 0x04:

led_reg = led_reg|0x20;

break;

case 0x06:

led_reg = led_reg|0x40;

break;

case 0x08:

led_reg = led_reg|0x80;

break;

}

}

else

{

switch (n_led)

{

case 0x01:

led_reg = led_reg&0xfe;

break;

case 0x03:

led_reg = led_reg&0xfd;

break;

case 0x05:

led_reg = led_reg&0xfb;

break;

case 0x07:

led_reg = led_reg&0xf7;

break;

case 0x02:

led_reg = led_reg&0xef;

break;

case 0x04:

led_reg = led_reg&0xdf;

break;

case 0x06:

led_reg = led_reg&0xbf;

break;

case 0x08:

led_reg = led_reg&0x7f;

break;

}

}


}


void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)

{

if(htim==&htim14)

{

if(v_led == 0x00)

{

HAL_GPIO_WritePin(V1_GPIO_Port, V1_Pin,GPIO_PIN_SET);

HAL_GPIO_WritePin(V2_GPIO_Port, V2_Pin,GPIO_PIN_RESET);

switch (led_reg&0x01)//1

{

case 0x00:

HAL_GPIO_WritePin(H1_GPIO_Port, H1_Pin,GPIO_PIN_SET);

break;

case 0x01:

HAL_GPIO_WritePin(H1_GPIO_Port, H1_Pin,GPIO_PIN_RESET);

break;

}


switch (led_reg&0x02)//3

{

case 0x00:

HAL_GPIO_WritePin(H2_GPIO_Port, H2_Pin,GPIO_PIN_SET);

break;

case 0x02:

HAL_GPIO_WritePin(H2_GPIO_Port, H2_Pin,GPIO_PIN_RESET);

break;

}

switch (led_reg&0x04)//5

{

case 0x00:

HAL_GPIO_WritePin(H3_GPIO_Port, H3_Pin,GPIO_PIN_SET);

break;

case 0x04:

HAL_GPIO_WritePin(H3_GPIO_Port, H3_Pin,GPIO_PIN_RESET);

break;

}

switch (led_reg&0x08)//7

{

case 0x00:

HAL_GPIO_WritePin(H4_GPIO_Port, H4_Pin,GPIO_PIN_SET);

break;

case 0x08:

HAL_GPIO_WritePin(H4_GPIO_Port, H4_Pin,GPIO_PIN_RESET);

推荐阅读

史海拾趣

General Dynamics SATCOM Technologies公司的发展小趣事

对于集成电路控制方式的恒水压自动控制电路,网友可能会提出多个问题,以下是一些常见问题及其回答:

1. 恒水压自动控制电路的基本工作原理是什么?

回答
恒水压自动控制电路主要利用集成电路(如单片机、微处理器等)对水压进行实时监测与控制。其基本工作原理是通过压力传感器采集水系统中的水压信号,将模拟信号转换为数字信号后送入微处理器进行处理。微处理器根据预设的水压值与实际水压值进行比较,通过控制水泵电机或其他执行机构的启停或转速来调节水流量,从而实现水压的恒定控制。

2. 如何实现精确的水压控制?

回答
实现精确的水压控制需要依赖于高精度的压力传感器和先进的控制算法。首先,选择具有高精度和良好稳定性的压力传感器是关键。其次,在控制算法上,常采用PID(比例-积分-微分)控制算法,通过不断调整比例、积分和微分系数来优化控制效果,使系统能够快速响应水压变化并保持稳定。此外,还可以引入模糊控制、神经网络控制等先进算法,以进一步提高控制系统的智能化水平和控制精度。

3. 恒水压自动控制电路中的集成电路如何选择?

回答
在选择集成电路时,需要考虑多个因素,包括控制精度、处理能力、成本、功耗以及是否易于编程等。对于恒水压自动控制电路来说,单片机或ARM等微处理器是常见的选择。这些微处理器具有较高的集成度和较强的数据处理能力,能够满足实时控制和复杂算法的需求。同时,还需要考虑其外部接口和扩展性,以便与压力传感器、电机驱动器等其他元件进行连接和通信。

4. 如何解决电路中的噪声和干扰问题?

回答
在恒水压自动控制电路中,噪声和干扰可能会影响压力传感器的测量精度和控制系统的稳定性。为了解决这些问题,可以采取以下措施:

  • 在电路设计阶段,采用合理的布局和布线方式,减少信号线之间的串扰和耦合。
  • 使用屏蔽线和滤波器来抑制高频噪声和电磁干扰。
  • 对模拟信号进行滤波处理,提高信号的信噪比。
  • 在软件层面,采用数字滤波算法进一步滤除噪声干扰。

5. 如何实现远程监控和故障诊断?

回答
为了实现恒水压自动控制电路的远程监控和故障诊断,可以将控制系统与物联网技术相结合。通过在控制系统中集成无线通信模块(如Wi-Fi、蓝牙、NB-IoT等),将实时水压数据、运行状态等信息传输到云端服务器或远程监控中心。同时,可以通过手机APP、网页等客户端远程查看和控制系统状态,及时发现并处理故障问题。此外,还可以利用大数据分析技术对历史数据进行挖掘和分析,为系统的优化和维护提供数据支持。

以上是对集成电路控制方式的恒水压自动控制电路可能遇到的问题及其回答的总结。希望这些信息能够对网友有所帮助。

DUCATI公司的发展小趣事

在电子行业中,DUCATI公司(杜卡迪摩托控股公司)的发展历程尤为独特,它从一个无线电通信技术的研究和生产公司,逐渐发展成为享誉全球的摩托车生产商。以下是五个与DUCATI公司电子行业起源及其后来摩托车业务发展起来的相关故事:

  1. 无线电通信技术的奠基

1926年,DUCATI家族工程师Antonio Cavalieri Ducati与意大利波隆那地区的绅士合作,成立了杜卡迪无线电器材制造公司。公司专注于无线电通信技术的研究和生产,为后来的发展奠定了坚实的基础。尽管当时并未涉足摩托车行业,但这一技术积累为公司带来了重要的经验和资金储备。

  1. 战火中的坚持与转型

第二次世界大战期间,杜卡迪的工厂不幸毁于战火。然而,在战后的废墟中,公司看到了对车辆需求的逐渐增加。不久后,杜卡迪开始踏入其他工业领域,为后来的摩托车业务探索了新的道路。这种逆境中求生存、转型谋发展的精神,是杜卡迪文化中不可或缺的一部分。

  1. Cucciolo引擎的突破

1946年,杜卡迪推出了企业史上的第一具单汽缸引擎Cucciolo。这款引擎由当时的意大利工业振兴协会管理,设计者为都灵的SIATA公司。虽然最初只是装置在脚踏车上的小型引擎,但这一突破性的技术为杜卡迪进入机车制造领域打开了大门。Cucciolo引擎的成功研发,为杜卡迪摩托车部门的成立奠定了基础。

  1. Cruiser机车的问世

1952年,杜卡迪推出了第一部配备电动启动马达和自动变速系统、排气量175cc的机车Cruiser。这款机车标志着杜卡迪正式成为机车制造厂,并为其在摩托车行业的地位奠定了基础。Cruiser的成功问世,进一步巩固了杜卡迪在摩托车市场的地位。

  1. Monster与916的辉煌

进入90年代后,杜卡迪在摩托车设计和技术上取得了重大突破。1993年,阿根廷设计师Miguel Galluzzi设计的Monster为杜卡迪在财务危机的愁云惨雾中找到了曙光。而1994年推出的916更是杜卡迪划时代的革命性作品,这款车型获得了世界经典名车的殊荣。Monster和916的成功设计不仅展现了杜卡迪在摩托车设计上的独特魅力,也为其在全球市场上赢得了广泛的赞誉。

以上五个故事展示了DUCATI公司在电子行业中的起源以及后来摩托车业务的发展过程。这些故事不仅体现了公司的创新精神和技术实力,也展现了其在逆境中求生存、转型谋发展的坚定信念。

台湾远翔(Feeling Technology)公司的发展小趣事

乔光电子成立于2009年,起初专注于过压、过流保护元器件的研发、生产和销售。公司凭借对技术的执着追求和对市场的敏锐洞察,迅速在行业内站稳脚跟。在创立初期,乔光电子就建立了先进的EMC实验室,致力于为客户提供顶级性能的过压、过流保护元器件和完整的电路保护解决方案。这一时期,乔光电子在福建和东莞建立了生产基地,为后续的快速发展奠定了坚实基础。

DBM REFLEX公司的发展小趣事

DBM REFLEX深知品质是企业的生命线。因此,公司建立了严格的品质管理体系,从原材料采购到生产过程的每一个环节都进行严格的把控。公司还引进了先进的检测设备和技术,确保每一件产品都符合高品质的标准。这种对品质的执着追求,使DBM REFLEX的产品在市场上赢得了客户的信赖和认可。

FREESCALE (NXP)公司的发展小趣事

DBM REFLEX公司成立于本世纪初,初期以提供光学组件的小规模定制服务为主。创始人对光学技术的深刻理解和对市场的精准把握,使公司迅速在光学器件领域崭露头角。随着技术的不断积累和市场需求的增长,DBM REFLEX逐渐扩大了产品线,开始为LED市场设计、铸模和生产高质量的光学器件。

ECI公司的发展小趣事

ECI公司自成立以来,一直致力于技术创新和研发。在电子行业的早期,ECI就投入巨资研发先进的半导体技术,成功推出了多款高性能、低功耗的芯片产品。这些产品迅速在市场上获得认可,为公司赢得了良好的口碑。随着技术的不断进步,ECI公司不断推出更加先进的电子产品,引领了电子行业的发展趋势。

问答坊 | AI 解惑

手机万能充电器电路原理与维修

本帖最后由 jameswangsynnex 于 2015-3-3 19:54 编辑 由于各型号手机所附带的充电器插口不同,以造成各手机充电器之间不能通用。当用户手机充电器损坏或丢失后,无法修复或购不到同型号充电器,使手机无法使用。万能充电器厂家看到这样的商机,就 ...…

查看全部问答>

支持移动硬盘需要加什么组件

usb host已经ok,u盘可以识别并挂载,但移动硬盘插上去没反应。 请问要支持移动硬盘,系统需要添加什么组件吗?…

查看全部问答>

usb键盘老是要拔掉重插

最近买了个usb接口键盘,老是要重插才能用,按照网上所说把设备管理-》usb room hub-》电源管理-》允许计算机关闭设别以节约电源停掉了。好像也不是qq冲突问题,在qq目录中找不到网上所说的的那两个文件。如果我把液晶显示其关掉,让机器开着, ...…

查看全部问答>

setsockopt 函数如何使用?

我的发送程序 #include \"vxWorks.h\" #include \"fioLib.h\" #include \"stdio.h\" #include \"unistd.h\" #include \"string.h\" #include \"usrLib.h\" #include \"errnoLib.h\" #include \"hostLib.h\" #include \"sockLib.h\" #incl ...…

查看全部问答>

关于UCOS移植C51上的RAM分配的问题。

大家好。本人对于UCOS还是新手。想找UCOS的系统移植到C51上,遇到一些问题。希望大家来帮忙解决一下。 (在网上下载了一个移植实例有些看不太明白) 问题一:实例代码如下          ;定义重定位段     ...…

查看全部问答>

MC3486/MC3487使用问题

近日小弟准备用两组MC3486/MC3487实现数据通讯,但不知道MC3486/3487该怎么使用,接口电路怎么画?是否需要进行阻抗匹配?是否需要光藕隔离? 还望各位大哥小弟们赐教.谢谢~~~~~…

查看全部问答>

请教:UCOS-II在TI的VC33移植时需要保存和恢复的全部寄存器都是那些、正确顺序是?

我正在研究UCOS-II在TI的VC33移植,但从33资料中确定不了以上问题,请有经验的高手指教,小弟不胜感激啊!!     我对TI公司的DSP(包括2812、c33、2407)的开发都有一定的经验了,欢迎和大家交流,我的的qq号是:61225451。…

查看全部问答>

变压器空载合闸跳速断是什么原因

10KV开关柜 变压器空载送电时跳速断 综保显示二次电流15A 变压器额定电流116A 什么原因…

查看全部问答>

期待9B96

支持论坛 提供9B96板子  做USB通讯    天地华杰科技有限公司 [ 本帖最后由 bjmonsoon 于 2011-10-31 11:41 编辑 ]…

查看全部问答>

关于LPC里面的sram内存分配的问题

大家好,碰到一个问题想和大家讨论下,我用的LPC2478芯片内存是64k, 现在想从中分配出一段内存来做缓冲区。要的是绝对地址,和寄存器地址一样的那种。请问如何分配。求指导…

查看全部问答>