请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP430F6777A 大家好、
尝试使用 AES 外设、但很难找到有关此主题的示例项目或代码脚本。 阅读用户手册中的"AES 加速器"部分后、我尝试使用 MSP 驱动程序库创建一个示例。 驱动程序库函数看起来正常、因为它们遵循用户手册中所述的相同路径。 但是、当我尝试加密 AES 标准中描述的大多数基本数据时、结果是失败的。 即使转换成功中断也不会触发。 请分享以下代码、感谢您提供任何帮助。
// main function has these setup for AES peripheral // Which calls "deneme_thread" function // Global Interrupts also enabled before this part AES_reset(AES_BASE); AES_enableInterrupt(AES_BASE); trk_PushMessageNullUserData(&deneme_thread, msg_ProcessAfter1s);
#include "aes.h" const uint8_t* CRYPTOKEY = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f}; const uint8_t* CRYPTOMESSAGE = {0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff}; uint8_t* CRYPTOOUT; uint8_t* DECRYPTOOUT; unsigned long deneme_thread(void* user_data) { AES_setCipherKey(AES_BASE, CRYPTOKEY); AES_startEncryptData(AES_BASE, CRYPTOMESSAGE, CRYPTOOUT); ipa_Print(CRYPTOOUT); // Serial communication function to observe data at terminal return msg_ProcessAfter1s * 5; // This function performs every 5 sec } #pragma vector = AES_VECTOR __interrupt void AES_ISR (void) { ipa_Print("\nPOLONEZKOYDEYIM"); // expected to see this message at terminal every succesfull conversion }