The US president vowed to "close down government if that is what it takes" to build a border wall
Donald Trump has defended his much-criticised response to the violent protests in Charlottesville - and claimed North Korea was starting to respect America.
Mr Trump made his comments during a rally in Phoenix, Arizona, a day after his primetime speech outlining his strategy for Afghanistan.
The rally drew many protesters who were angry for his failing to denounce white supremacists who had clashed with anti-fascist protesters earlier this month.
The Charlottesville protests resulted in the death of a woman and injury to dozens of other people.
Outside the rally in Arizona, police deployed smoke grenades to disperse protesters who chanted slogans and waved placards.
"People in the crowd have begun throwing rocks and bottles at police. They also dispersed some gas in the area," Phoenix Police Department spokesman Sergeant Jonathan Howard said.
"Police have responded with pepper balls and OC (oleoresin capsicum) spray in an attempt to disperse the crowd and stop the assaults," he said.
During his speech, Mr Trump said the words used in his response to the Charlottesville situation had been "perfect", and said the crowd in Phoenix 'stood in condemnation' of the 'thugs' at the violent demonstration earlier this month.
Instead he blamed the "very dishonest media" for misrepresenting his response to the riots, saying he had "openly called for healing unity and love".
He suggested: "They don't want to report that I spoke out forcefully against hatred, bigotry and violence and strongly condemned the Neo-Nazis, the white supremacists and the KKK."
He also spoke about North Korea's leader Kim Jong Un, following their war of words on the threat of nuclear war, saying: "I respect the fact that he is starting to respect us.
"Maybe something positive can come about."
Mr Trump also vowed to "close down government if that is what it takes" to build his wall along the Mexico border.
He told cheering supporters at the "Make America Great Again" rally that the opposition Democrats were being "obstructionist".
With thousands of supporters cheering him on, Mr Trump also weighed in on another racially charged issue, hinting he would soon pardon former Maricopa County Sheriff Joe Arpaio.
Arpaio, 85, who battled illegal immigration in the Phoenix area, was found guilty last month of criminal contempt for violating the terms of a 2011 court order in a racial profiling case.
Before Mr Trump's appearance, various groups had used Facebook to gather the support of thousands of people wiling to protest in the Arizona city.
Anti-Trump protesters yelled: "Shame, shame, shame" and "No Trump, no KKK, no fascist USA" as the president's supporters began filing into the Phoenix Convention Center, where the rally is being held.
Trump supporters responded with chants of: "Build the wall", a reference to his promise to build a wall between the US and Mexico.
Phoenix's mayor Greg Stanton had written in the Washington Post on Monday urging Mr Trump to delay his trip.
The Democrat wrote: "America is hurting and it is hurting largely because Trump has doused racial tensions with gasoline. With his planned visit to Phoenix on Tuesday, I fear the president may be looking to light a match.
"It's time to let cooler heads prevail and begin the healing process," he wrote before adding that he was "not optimistic (that) the White House will heed that call".
Arizona's Governor Doug Ducey, a Republican, greeted Mr Trump but was not at the rally.
The state's two Republican senators John McCain and Jeff Flake, both of whom have been criticised by Mr Trump, were also absent from the rally.
Mr Trump won Arizona in last year's election, with 48.1% compared to 44.6% for Hillary Clinton.