工具/软件:Code Composer Studio
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Code Composer Studio
David,
TI资源管理器中有一个示例 ,说明如何使用AES引擎进行加密/解密。 例如 AES256_encrypt_decrypt,可在TI资源浏览器路径下找到:
SimpleLink MSP432P4 SDK ->示例->开发工具-><选择您的主板>-> Driverlib
如果您已经在CCS的独立版本中,则可以在以下路径下找到代码示例:
C:\ti\simplelink_msp432p4_sdk_1_60_00_12\examples\nortos\MSP_EXP432P401R\driverlib
这当然适用于1.60 .00.12 版。 插入已安装SDK的正确值。
另外,请注意命名约定,因为MSP432E4也存储在C:\ti和You下
可能会意外选择该选项。
此致,
Bob L.
您是否可能尚未下载SimpleLink SDK? 您可以在 此处的SpimpLink MSP432 SDK 页面上找到此信息。
单击“获取MSP432设备的软件”。 (或 单击此处 获取相同的下载链接)。 选择用于MSP432P4 SDK的Windows安装程序。 目前最新的版本是v.1.60 .00.12。
下载后,运行刚下载的可执行文件,并将SDK安装到C:\ti (默认位置)中。
安装后,重新启动CCS并尝试编译AES演示的代码。
如果编译仍有问题,请告诉我。 (如果您没有问题,也请告诉我!)
此致,
Bob L.
对不起,当我在代码编写器工作室运行此程序时,
串行显示器上打印的解密字符显示日期加密(XLI),我的数据是(Hi),密钥是(A),您能告诉我为什么解密字符和解密正常数据不一样?
这是代码
#include <driverlib.h>
#include <stdint.h>/*
statics */
static uint8_t Data[2]={0x68,0x69};/*Dato o mensaje a cifrar*/
static uint8_t CipherKey[1]={0x61};/* Datauist_ESConfig
=8简单易
失码
EUSCI_A_UART_CLOCKSOURCE_SMCLK, // SMCLK时钟源
78, // BRDIV = 78
2, // UCXBRF = 2
0, // UCXBRS = 0
EUSCI_A_UART_NO_PARity, //不奇偶校验
EUSCI_A_UART_LSB First, // LSB优先
EUSCI_A_UART_ON_STOP_BIT, //一个停止位
EUSCI_A_UART_MODE, // UART模式
EUSCI_A_UART_oversampling_BAUDRATE_generation // Oversampling
};
int main(void)
{/*
停止看门狗*/
MAP_WDT_A_HoldTimer();
MAP_AES256_setCipherKey (AES256_BASE,CipherKey,AES256_KEYLENGTH_256位);
MAP_AES256_encryptData(AES256_base, Data, DataAESencrypted);
MAP_AES256_setDecipherKey (AES256_BASE,CipherKey,AES256_KEYLENGTH_256位);
MAP_AES256_decryptData(AES256_base, DataAESencrypted, DataAESdecrypted);
/*正在停止WDT */
MAP_WDT_A_HoldTimer();
/*在UART模式下选择WFP 1.2 和WFP 1.3 */
MAP_GPIO设置外围模块功能输入引脚(GPIO_PORT_P1,
GPIO _PIN1 | GPIO _PIN2 | GPIO _PIN3,GPIO主要模块功能);
/*将DCO设置为12MHz */
cs_setDCOCenteredFrequency (CS_DCO_Frequency_12);
/*配置UART模块*/
MAP_UART_INITModule (EUSCI_A0_BASE,&uartConfig);
/*启用UART模块*/
MAP_UART_enableModule (EUSCI_A0_BASE);
/*启用中断*/
MAP_UART_enableInterrupt (EUSCI_A0_BASE,EUSCI_A_UART_receive中断);
MAP_Interrupt_enableInterrupt (INT_EUSCIA0);
MAP_Interrupt_enableSleepOnIsrExit();
MAP_Interrupt_enableMaster();
易失性无符号int I;
对于(i=0;i<3;i++){
MAP_UART_SEATDATE(EUSI_A0_base, DataAESdecrypted[I]);
}
MAP_PCM_GotoLPM0();
}/*
EUSCI A0 UART ISR -将数据回波到PC主机*/
void EUSCIA0_IRQHandler(void){
UINT32_t status = MAP_UART_getEnabableInterruptStatus(EUSSCI_A0_base);
MAP_UART_CLEARInterruptFlag (EUSCI_A0_BASE,状态);
IF (状态和EUSCI_A_UART_receive中断标志)
{
MAP_UART_TEHData(EUSI_A0_base, MAP_UART_receiveData(EUSI_A0_base));
}
}