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.

[参考译文] TM4C123GH6PM:使用 SSI 实施 DAC

Guru**** 1821780 points
Other Parts Discussed in Thread: TM4C123GH6PM
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1348887/tm4c123gh6pm-implementing-dac-with-ssi

器件型号:TM4C123GH6PM

我想用 TM4C123GH 和 DAC MCP4921生成正弦波,但我没有在我的 IC 端口获得输出。 我的代码如下:-  

#包含
#包含
#包含
#include "inc/hw_memmap.h"
#include "inc/hw_ssi.h"
#include "inc/hw_ints.h"
#include "inc/hw_types.h"
#include "driverlib/ssi.h"
#include "driverlib/gpio.h"
#include "driverlib/pin_map.h"
#include "driverlib/sysctl.h"
#include "driverlib/interrupt.h"
#include "driverlib/adc.h"


#define PI 3.14
#定义长度4096



int16_t SinData[length];

空正弦(空)
{
uint32_t i;

for (I=0;I<长度;I++)
{
浮点数=((2 *π/(长度))* i);//2 *π* 4096 = 52429
SinData[I]= 2048*sin (radian);


int main (空)
{
uint32_t ui32Index;
uint32_t DAC_Val;
易失性浮点 ui32Data;
正弦();
SysCtlClockSet (SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHz);
SysCtlPeripheralEnable (SYSCTL_Periph_SSI0);
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOA);
GPIOPinConfigure (GPIO_PA2_SSI0CLK);
GPIOPinConfigure (GPIO_PA3_SSI0FSS);
GPIOPinConfigure (GPIO_PA5_SSI0TX);
GPIOPinTypeSSI (GPIO_Porta_base、GPIO_PIN_5|GPIO_PIN_3|GPIO_PIN_2);

SSIConfigSetExpClk (SSI0_BASE、SysCtlClockGet ()、SSI_FRF_MOTO_MOTO_MODE_0、SSI_MODE_MASTER、10000、 16);
SSIEnable (SSI0_BASE);

while (1)
{
for (ui32Index = 0;ui32Index < length;ui32Index++)
{
ui32Data = SinData[ui32Index];
DAC_Val = 0x3000;  
DAC_Val |=(SinData[ui32Index]& 0x00000FFF);//在左侧和右侧操作数之间按位或,并将结果分配给左侧操作数

SSIDataPut (SSI0_BASE、DAC_Val);
while (SSIBusy (SSI0_BASE);
如果(ui32Index>=length-1)
{
ui32Index=0;



  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

     我真的没有发现任何特别错误的你的代码,除了你的 SSI 波特率只有10000 (10k)。 这是您真正想要的波特率吗? 这种波特率非常慢。 您确定您的从器件与它兼容吗?

     您是说 IC 上没有输出? 能够在示波器帽上显示吗? 由于您的波特率非常慢、您需要调整示波器的时序标度。

     您可以在 LaunchPad 上运行吗? 您有什么看法?

     为什么不首先运行示例 C:\ti\TivaWare_C_Series-2.2.0.295\examples\peripherals\ssi\spi_master.c as-is 未进行修改。 您能在引脚上看到 SSICLK 和 SSITX 吗? 工作后、您可以适应您的应用。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我不知道您在何处切换/ldac。 您是否已通过某种方式将其连接到 VSS?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

      我将这个 IC 与 TM4C123GH6PM 搭配使用、这款连接器引脚与

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

     TM4C MCU 不是5V 器件。 您无法驱动5V SPI 从器件。